Firefox 預設是不能用 JavaScript 存取系統剪貼簿(Clipboard)的, 如果想要開放這項功能, 要改 Fifefox 的設定才行。
- 先在網址列輸入 about:config。
- 然後找到 signed.applets.codebase_principal_support, 把它設為 true 就行了。
- 然後再把以下的 code 找個適當的地方放, 然後就可以呼叫 CopyToClipboard("your text....") 把字串複製到剪貼篿啦!
值得注意的是在每次呼叫的時候, Firefox 會彈出一個對話視窗詢問是否允許存取, 要按 "是" 才行!
function CopyToClipboard(copytext) { if (window.clipboardData) { window.clipboardData.setData('Text', copytext); } 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; var str = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString); str.data=copytext; trans.addDataFlavor('text/unicode'); trans.setTransferData('text/unicode',str,copytext.length*2); var clipid=Components.interfaces.nsIClipboard; if (!clipid) return false; clip.setData(trans,null,clipid.kGlobalClipboard); } else { return false; } return false; }
沒有留言:
張貼留言