最近需要做个复制到剪贴板功能,做为后发现在FF下不可用,最后按如下方式解决,请看代码:
- <mce:script type="text/javascript"><!--
- function copyToClipboard(selContent) {
- if(window.clipboardData) {
- window.clipboardData.clearData();
- window.clipboardData.setData("Text", selContent);
- alert("IE下复制成功!");
- } else if(navigator.userAgent.indexOf("Opera") != -1) {
- window.location = selContent;
- } 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 = selContent;
- 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("FF下复制成功!");
- }
- }
- // --></mce:script>
- 测试内容:<input id="testContent" name="testContent" type="text" value="这是测试内容" style="width:200px"/>
- <input type="button" onclick="copyToClipboard(document.getElementById('testContent').value);" value="复制"/><br/>
- 粘贴测试:<input type="text" style="width:200px"/>