Avatar
Martin5001
Člen
Avatar
Martin5001:

Ahoj.
Nevíte někdo jak do javascriptového kontextového menu přidat funkci kopírovat?
Chtěl bych aby měl uživatel možnost kopírování libovolného textu na stránce, zároveň ale trvám na použití vlastního kontextového menu (mám v něm některé důležité položky a také to lépe vypadá). Na internetu jsem našel pouze možnost kopírovat konkrétní text.
PS: S vyjímkou flashe jsem ochoten použít jakoukoli technologii.
Díky za pomoc.

 
Odpovědět 4. února 15:57
Avatar
Taskkill
Redaktor
Avatar
Taskkill:

Momentalni situace: IEcko podporuje vesele pristupovani do clipboardu (staci potvrdit opravneni nebo neco takovyho) Chrome dovoluje pouzit nejakej ten hackish pristup a dovoli ti si pohrat s Rangem a dostat to tam (fiddle co sem ukradl a upravil https://jsfiddle.net/…ll/a7rxwq7c/ ) no a firefox je v tomhle kral - do verze 41 prej ani nemuze fungovat nic - muzes zkouset range - smula, muzes zkusit input.select() a pak document.exec­Command("copy") ... rikaj ze po 41 prvni verzi to beha (jakoze to execCommand(), no ale spis ne, zato beha to s tim rangem) ... opera na tom bude asi dobre jako chrome, jak je na tom safari netusim ... mozna najdes nejakej plugin/knihovnu na guthubu co bude mit dokonalou podporu, ale jak vidis snadny to neni ... jeste ke vsemu plati bezpecnosti opatreni, ze tyhle ty hacky casto nejdou udelat jen tak, nejdou spustit sami o sobe, musi byt uvnitr callbacku na nejakou user action (coz u tebe nevadi, bude to click() ) ale stejne ze nam jeste nedali kloudny API - na druhou stranu, kdyby tohle slo snadno, dovedu si predstavit ten bordel - pujdes na stranku a jako reklamu ti vlozej do CB neco jako Navstivte nas eshop - Blza.cz (abych nedelal reklamu).

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 4. února 17:57
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Taskkill
Taskkill:

Ale neřekl jsem ještě jednu důležitou věc, to api už se připravuje, jen prostě ty implementace jsou dost nechutně rozdílný

 
Nahoru Odpovědět  +1 4. února 18:07
Avatar
Martin5001
Člen
Avatar
Martin5001:

Díky za rychlou reakci.
Stačila by mi podpora pro chrome ale potřeboval bych aby tam nebyl ten button a místo něj se kopírovalo stejně jako normálně (vybereš text, klikneš, zkopíruješ vybraný text).

 
Nahoru Odpovědět 5. února 11:07
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Martin5001
Taskkill:

Mala rada do budoucna - abych videl, ze reagujes, musis klepnout na odpovedet u komentare prispevku, na ktery reagujes, kdybych si nevzpomnel vubec bych ti neodpovedel. Ale ted k otazce, kdyz user neco oznaci tak to zpravidla najdes takto:

document.getSelection().toString()

dle MDN je to podporovany uz od DOM 0, takze by se mohlo jednat o ficuru, co bys mohl pouzit, do sveho menu, no a kdyz chces support v chromu, tak odpovedi muze byt trebas ten fiddle co jsem ukazoval v predchozim prispevku. Ten by se snad mohl vyporadat s beznyma verzema Chromu a vkladanim do clipboardu. Snad jsem ti poskytl dostatecne podklady k dalsimu hledani a boji (protoze tohle bude boj :) )

 
Nahoru Odpovědět 6. února 16:51
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Taskkill
Taskkill:

EDIT: jen doplnim, ze s tim buttonem si nedelej hlavu, stejne ho tam mit budes, (jen to nemusi byt button, bude to trebas div v tom tvem vlastnim menu) no a kdyz na nej kliknes tak misto This is Sparta! Pouzijes text, ktery dostanes pomoci te getSelection() funkce

 
Nahoru Odpovědět 6. února 16:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.