我找到this question但是尝试使用那里给出的代码:
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper)
;
clipboardHelper.copyString('test');
给出错误消息:
来自«http://example.com»的脚本被拒绝了UniversalXPConnect 特权。
我也尝试使用(from Mozilla site):
const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper)
;
gClipboardHelper.copyString("test2");
其中提供了错误消息:Components.classes is undefined
。
在这两种情况下,它都不适用于Windows 7上的最新Firefox 我还应该尝试什么?
答案 0 :(得分:20)
自版本1。10(2013年6月20日)起,Greasemonkey现在支持the GM_setClipboard()
function
像这样使用:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_setClipboard
// ==/UserScript==
GM_setClipboard ("The clipboard now contains this sentence.");
使用Greasemonkey非常困难,因为GM devs拒绝支持它,必须克服FF和Flash安全设置。
如果副本将由 手动点击 启动,则可以执行此操作。在这种情况下,请使用this question中的一种技术。
如果您希望进行某种全自动剪贴板操作,则必须为GM脚本开发自己的附加组件或插件。
如果您愿意切换脚本加载项,请注意Scriptish提供GM_setClipboard()
to set the clipboard。 (但没有阅读它的功能?!)
Scriptish并不完美,但它在某些方面比Greasemonkey更好。 (注意我不是附加任何附加组件,也不是我对它们完全满意。)
大多数GM脚本都可以在Scriptish中运行,没有任何问题。
至于代码片段,问题;它们本质上是相同的(第一个只是GM沙箱的帐户)。对于许多版本的Firefox而言,这种方法已经过时,替换代码的记录很少 您将不得不使用需要用户交互的技术,或者您必须编写自定义帮助程序插件。