簡體   English   中英

復制到剪貼板在Firefox 25中不起作用

[英]copy to clipboard is not working in firefox 25

如何在Firefox V25中實現“剪貼板”功能。 即使我在“ about:config”中將“ dom.event.clipboardevents.enabled”更改為true,以及將“ clipboard.autocopy”更改為true,也無法正常工作。 請給我一個解決這個問題的方法。

我將這段代碼用於剪貼板操作:

function copyToClipboardCrossbrowser(s) {           
s = document.getElementById(s).value;               

if( window.clipboardData && clipboardData.setData )
{
        clipboardData.setData("Text", s);
}           
else{
       // You have to sign the code to enable this or allow the action in about:config by changing
       //user_pref("signed.applets.codebase_principal_support", true);
       netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

       var clip = Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard);
       if (!clip) return;

       // create a transferable

       var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
       if (!trans) return;

       // specify the data we wish to handle. Plaintext in this case.
       trans.addDataFlavor('text/unicode');

       // To get the data from the transferable we need two new objects
       var str = new Object();
       var len = new Object();

       var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

       str.data= s;        

       trans.setTransferData("text/unicode",str, str.data.length * 2);

       var clipid=Components.interfaces.nsIClipboard;              
       if (!clip) return false;
       clip.setData(trans,null,clipid.kGlobalClipboard);      
   }
}

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect')

由於安全原因,不能在當前版本的Firefox中使用-請自己尋找解決方案!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM