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