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("复制成功!")
}
from http://www.iteye.com/topic/125198
分享到:
相关推荐
然而,IE之外的其他浏览器,如Firefox、Chrome和Safari,并不支持通过纯JavaScript直接操作剪贴板。这就需要一种兼容性的解决方案来确保代码能在所有主流浏览器中工作。 在提供的内容中,开发者使用了一种混合技术...
3. **代码拷贝**:KindEditor内置了代码复制功能,用户可以直接选中代码并复制到剪贴板,这对于程序员来说是一个非常实用的功能。它支持多种编程语言的代码高亮显示,提高了代码阅读体验。 4. **通用性**:由于其...
在Chrome、Firefox等现代浏览器中,我们可以使用`Range`对象和`Selection`对象来实现文本选择。`Range`对象允许我们定义文档中的一个文本范围,而`Selection`对象则代表用户当前的选取范围。以下是一个简单的示例,...
在上述代码中,`clipboardData.setData("Text", newT.text)`将选中的文本设置到剪贴板上,类型为"Text"。 4. **`if(clipboardData.getData("Text")!=null)`**: 这行代码检查剪贴板是否已经成功设置了数据。如果剪贴...
[关于兼容性] 建议使用chrome firefox ie9+ 体验更完整。ie8以下基本上不做兼容处理。chrome支持文件夹拖拽上传。 [文件打开] office文件在线预览功能,服务器必须在公网(外部能访问该服务器) [忘记密码] 修改data...