Javascript 如何使用Greasemonkey将数据复制到剪贴板?
我发现,但正在尝试使用此处给出的代码:Javascript 如何使用Greasemonkey将数据复制到剪贴板?,javascript,firefox,greasemonkey,clipboard,clipboard-interaction,Javascript,Firefox,Greasemonkey,Clipboard,Clipboard Interaction,我发现,但正在尝试使用此处给出的代码: unsafeWindow.netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”); const clipboardHelper=Components.classes[“@mozilla.org/widget/clipboardHelper;1”] .getService(组件.接口.nsicipPardHelper) ; copyString('test'); 给出
unsafeWindow.netscape.security.privilegmanager.enablePrivilege(“UniversalXPConnect”);
const clipboardHelper=Components.classes[“@mozilla.org/widget/clipboardHelper;1”]
.getService(组件.接口.nsicipPardHelper)
;
copyString('test');
给出错误消息: 来自«»的脚本被拒绝UniversalXPConnect 特权
我还尝试使用():
const gClipboardHelper=Components.classes[“@mozilla.org/widget/clipboardhelper;1”]
.getService(组件.接口.nsicipPardHelper)
;
gClipboardHelper.copyString(“test2”);
这会给出错误消息:Components.class未定义
在这两种情况下,它都不适用于Windows 7上的最新Firefox。我还应该尝试什么?更新: 从版本1.10(2013年6月20日)起,Greasemonkey现在支持。
像这样使用:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_setClipboard
// ==/UserScript==
GM_setClipboard ("The clipboard now contains this sentence.");
较旧的GM版本: 使用Greasemonkey很难做到这一点,因为GM开发人员拒绝支持它,必须克服FF和Flash安全设置。
如果通过手动单击启动复制,则可以执行此操作。在这种情况下,请使用中的一种技术 如果你希望有某种完全自动的剪贴板操作,那么你必须开发自己的附加组件或插件供你的GM脚本使用
Scriptish多年来一直支持这一点: 如果您愿意切换脚本加载项,请注意提供了。(但没有读取它的功能?!) 照本宣科并不完美,但它在几个方面比油腻的猴子好。(请注意,我与这两个附加组件都没有关联,也不完全满意。) 大多数GM脚本将以Scriptish运行,没有问题
至于代码片段,从问题;它们本质上是一样的(第一个只是通用汽车的沙箱)。这种方法在许多版本的Firefox中已经过时,替换代码的文档记录也很差。
您必须使用需要用户交互的技术,或者您必须编写一个自定义助手附加组件