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;
}
沒有留言:
張貼留言