Greasemonkey \ JavaScript复制到剪贴板按钮
我正在尝试编写一个JavaScript脚本以添加到在元素后添加按钮的greasemonkey。 该按钮的onClick应该将父母元素文本复制到键盘。 我已经看到了很多将已选文本复制到剪贴板的示例,如下所示:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function copyit(theField) {
var selectedText = document.selection;
if (selectedText.type == 'Text') {
var newRange = selectedText.createRange();
theField.focus();
theField.value = newRange.text;
} else {
alert('Alert: Select The text in the textarea then click on this button');
}
}
// End -->
</script>
<input onclick="copyit(this.form.text_select)" type="button" value="Click Here to Copy the Highlighted Text" name="copy_button">
在这里找到。
我也发现你可以在输入元素中选择文本。 我尝试将两种技术以及许多其他方法结合起来,但还没有可行的解决方案。 我甚至不知道为什么上面的代码复制到剪贴板。 有没有人有解决这个问题?
如果你花时间阅读完整的文章,作者指出这不适用于Firefox ...
其实,我认为它甚至不适用于IE,因为它与剪贴板没有任何关系!
有一种使用Flash的技术,因为默认情况下,出于安全原因,Firefox禁止剪贴板访问。
否则,经典的复制方式是:
var tc = textToCopy.replace(/nn/g, 'n');
if (window.clipboardData) // IE
{
window.clipboardData.setData("Text", tc);
}
else
{
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes
["@mozilla.org/widget/clipboardhelper;1"].
getService(Components.interfaces.nsIClipboardHelper);
clipboardHelper.copyString(tc);
}
启用复制后(对于给定的站点)。
你确定你的例子有用吗? 它不在我的浏览器中。 但请看下面的页面:http://www.jeffothy.com/weblog/clipboard-copy/
链接地址: http://www.djcxy.com/p/3325.html