|
JS и буфер обмена
|
|
| zid | Дата: 22 Мая 2009, 16:22 | Сообщение # 1 |  ● ● ● ● ● 108 сообщений Статус: Offline | есть код Code <script language="javascript" type="text/javascript"> function copy_clip(whattext) { if (window.clipboardData) {window.clipboardData.setData("Text", whattext);} else if (window.netscape) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext=whattext; str.data=copytext; trans.setTransferData("text/unicode",str,copytext.length*2); var clipid=Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans,null,clipid.kGlobalClipboard);} return false;} </script> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/1.gif[/img] ')"><img src="http://airwayfun.com/sm/1.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/2.gif[/img] ')"><img src="http://airwayfun.com/sm/2.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/3.gif[/img] ')"><img src="http://airwayfun.com/sm/3.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/4.gif[/img] ')"><img src="http://airwayfun.com/sm/4.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/5.gif[/img] ')"><img src="http://airwayfun.com/sm/5.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/6.gif[/img] ')"><img src="http://airwayfun.com/sm/6.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/7.gif[/img] ')"><img src="http://airwayfun.com/sm/7.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/8.gif[/img] ')"><img src="http://airwayfun.com/sm/8.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/9.gif[/img] ')"><img src="http://airwayfun.com/sm/9.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/10.gif[/img] ')"><img src="http://airwayfun.com/sm/10.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/11.gif[/img] ')"><img src="http://airwayfun.com/sm/11.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/12.gif[/img] ')"><img src="http://airwayfun.com/sm/12.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/13.gif[/img] ')"><img src="http://airwayfun.com/sm/13.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/14.gif[/img] ')"><img src="http://airwayfun.com/sm/14.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/15.gif[/img] ')"><img src="http://airwayfun.com/sm/15.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/16.gif[/img] ')"><img src="http://airwayfun.com/sm/16.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/17.gif[/img] ')"><img src="http://airwayfun.com/sm/17.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/18.gif[/img] ')"><img src="http://airwayfun.com/sm/18.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/19.gif[/img] ')"><img src="http://airwayfun.com/sm/19.gif" align="absmiddle" border="0"></a> <a href="#" onClick="copy_clip(' [img]http://airwayfun.com/sm/20.gif[/img] ')"><img src="http://airwayfun.com/sm/20.gif" align="absmiddle" border="0"></a> вот пример тык принцип простой: при нажатии на смайл в буфер должен копироваться BB код смайла Code [img ]http://airwayfun.com/sm/20.gif[/img ] когда запускаю файл локально, FF и IE lf.n pfghjc на выполнение сценария и только тогда код копируется в буфер. с сервака не пашет.. как обойти? | | |
|
| mob_dp | Дата: 22 Мая 2009, 16:49 | Сообщение # 2 | ● ● ● ● ● 4112 сообщений Статус: Offline | zid, вообще то JS доступа к буферу обмена не имеет, и я делал через флеш. var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); омг  | | |
|
| zid | Дата: 22 Мая 2009, 17:02 | Сообщение # 3 |  ● ● ● ● ● 108 сообщений Статус: Offline | mob_dp, дай пример кода через флеш  | | |
|
| mob_dp | Дата: 22 Мая 2009, 17:14 | Сообщение # 4 | ● ● ● ● ● 4112 сообщений Статус: Offline | zid, Code function copy(text2copy) { if (window.clipboardData) { window.clipboardData.setData("Text",text2copy); } else { var flashcopier = 'flashcopier'; if(!document.getElementById(flashcopier)) { var divholder = document.createElement('div'); divholder.id = flashcopier; document.body.appendChild(divholder); } document.getElementById(flashcopier).innerHTML = ''; var divinfo = '<embed src="/js/_clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>'; document.getElementById(flashcopier).innerHTML = divinfo; } } /js/_clipboard.swf - ссылка на файл флеша | | |
|
| zid | Дата: 22 Мая 2009, 18:06 | Сообщение # 5 |  ● ● ● ● ● 108 сообщений Статус: Offline | mob_dp, я так сказать только учусь.. код понял чуть чуть.. не мог бы ты показать пример с несколькими смайлами  | | |
|
| mob_dp | Дата: 22 Мая 2009, 21:07 | Сообщение # 6 | ● ● ● ● ● 4112 сообщений Статус: Offline | Code <a href="#" onClick="copy(' [img]http://airwayfun.com/sm/20.gif[/img] ')"><img src="http://airwayfun.com/sm/20.gif" align="absmiddle" border="0"></a> | | |
|
| zid | Дата: 23 Мая 2009, 10:34 | Сообщение # 7 |  ● ● ● ● ● 108 сообщений Статус: Offline | Code <script language="javascript" type="text/javascript"> function copy(text2copy) { if (window.clipboardData) { window.clipboardData.setData("Text",text2copy); } else { var flashcopier = 'flashcopier'; if(!document.getElementById(flashcopier)) { var divholder = document.createElement('div'); divholder.id = flashcopier; document.body.appendChild(divholder); } document.getElementById(flashcopier).innerHTML = ''; var divinfo = '<embed src="http://airwayfun.com/sm/_zeroclipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>'; document.getElementById(flashcopier).innerHTML = divinfo; } } </script>
<a href="#" onClick="copy(' [img]http://airwayfun.com/sm/20.gif[/img] ')"><img src="http://airwayfun.com/sm/20.gif" align="absmiddle" border="0"></a> mob_dp, не работает.. | | |
|
| Vanofuture | Дата: 23 Мая 2009, 11:34 | Сообщение # 8 |  ● ● ● ● ● Все админы едят апельсины 1650 сообщений Статус: Offline | zid, ты путаешь. zeroclipboard и то что давал mob_dp совсем разные вещи. | | |
|
| zid | Дата: 23 Мая 2009, 11:35 | Сообщение # 9 |  ● ● ● ● ● 108 сообщений Статус: Offline | Quote /js/_clipboard.swf - ссылка на файл флеша Vanofuture, где взять этот файл? | | |
|
| Vanofuture | Дата: 23 Мая 2009, 11:41 | Сообщение # 10 |  ● ● ● ● ● Все админы едят апельсины 1650 сообщений Статус: Offline | | | |
|
| zid | Дата: 23 Мая 2009, 11:56 | Сообщение # 11 |  ● ● ● ● ● 108 сообщений Статус: Offline | Vanofuture, спасибо))Добавлено (23 Май 2009, 11:56) --------------------------------------------- не работает | | |
|
| Vanofuture | Дата: 23 Мая 2009, 12:00 | Сообщение # 12 |  ● ● ● ● ● Все админы едят апельсины 1650 сообщений Статус: Offline | zid, версия флеша? Этот скрипт работает только до 9-ой, если 10 то тут только zeroclipboard(но у него совсем другая структура и есть минусы). | | |
|
| zid | Дата: 23 Мая 2009, 12:30 | Сообщение # 13 |  ● ● ● ● ● 108 сообщений Статус: Offline | Vanofuture, именно что последняя.. 10. как быть? | | |
|
| }{0тт@бь)ч | Дата: 23 Мая 2009, 17:29 | Сообщение # 14 | ● ● ● ● ● 1089 сообщений Статус: Offline | | | |
|
| zid | Дата: 24 Мая 2009, 19:48 | Сообщение # 15 |  ● ● ● ● ● 108 сообщений Статус: Offline | }{0тт@бь)ч, спасибо все получилось)) | | |
|