将文本复制到剪贴板的最佳方法是什么?(多浏览器)
我试过了:
function copyToClipboard(text) {
if (window.clipboardData) { // Internet Explorer
window.clipboardData.setData("Text", text);
} else {
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
clipboardHelper.copyString(text);
}
}
Run Code Online (Sandbox Code Playgroud)
但在Internet Explorer中,它会出现语法错误.在Firefox中,它说unsafeWindow is not defined.
没有闪存的好技巧:Trello如何访问用户的剪贴板?
目前似乎没有使用大多数现代浏览器访问系统剪贴板的纯JavaScript方法,Internet Explorer是一个例外.在许多其他Stack Overflow问题上(例如,使用Javascript的剪贴板访问 - 没有Flash?),它解释了这种限制是一种有意识的安全措施,以防止从剪贴板读取密码或其他敏感数据的网站.
虽然看起来从剪贴板中读取将是一个巨大的安全风险,但我不清楚为什么要写入剪贴板.什么情况,如果有的话,浏览器通过拒绝JS将数据复制到剪贴板的能力来防范?
我有一个问题,我需要在div中插入一个文本(字符串,可能有也可能没有html标签).它必须是一个div而不是textarea.
反正有吗?首先,我需要获取光标位置,然后将文本插入该位置.
它类似于函数insertAdjacentText,但它只能在标记之前或之后插入,并且只能在IE中使用.
请参阅此URL:http://yart.com.au/test/iframe.aspx.注意如何将光标定位在div中,我们需要在光标位置添加文本.
是否有可能将剪贴板的文本内容自动粘贴到textarea中单击按钮?刚刚找到了一种方法来复制数据,但没有从中读取数据.