拷贝文字到剪贴板firefox ie 通用js函数
来源:互联网 发布:美国网络小说 知乎 编辑:程序博客网 时间:2024/04/19 02:15
- function copyToClipboard(txt) {
-
- if(window.clipboardData) {
-
- window.clipboardData.clearData();
-
- window.clipboardData.setData("Text", txt);
-
- } else if(navigator.userAgent.indexOf("Opera") != -1) {
-
- window.location = txt;
-
- } else if (window.netscape) {
-
- try {
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- } catch (e) {
-
- alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
-
- }
-
- 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 = txt;
-
- 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);
-
- alert("复制成功!")
-
- }
-
- }