我正在考虑编写一个小的 Firefox 插件/扩展,其中我将使用复制/粘贴缓冲区。我尝试在 Firefox/Tools/Web Developer/Web Console/Javascript 选项卡中测试我在 MDN 上看到的代码,以获得在线“REPL”评估器,但无济于事。
这是我尝试过的并且错误;
https://developer.mozilla.org/en-US/docs/Using_the_Clipboard
Components.utils.import('resource://gre/modules/Services.jsm');
类型错误:Components.utils 未定义
我对此很陌生,也许误读了文档,但似乎这是正确的页面,也是其他阅读的正确开始位置,例如 Firefox Xul Clipboad 谢谢!
最佳答案
答案是 MDN 使用 Firefox/Tools/Web Developer/Web Console/Javascript 选项卡的说明对于我的 Firefox v34.0.5 和 OSX v.10.8.5 版本显然不准确。
相反,访问正确的特权 Javascript 控制台的说明如下。
1.安装开发者助手插件以获得多个控制台/编辑器的新菜单项。 https://addons.mozilla.org/en-US/firefox/addon/extension-developer/reviews/
2.单击 Firefox/工具/ExtensionDeveloper/JavascriptShell。下图显示了右侧的菜单选择和左侧的结果控制台窗口(抱歉,它们看起来有点向后)。
3.这个新的 Javascript shell 看起来很独特,因为它具有特权,并且附带安装的组件
。还有其他三个可用(Chrome ScratchPad、Javascript 环境、Web 控制台),但它们都不包含组件软件。
4.通过将此代码粘贴到新的控制台窗口中来尝试粘贴到剪贴板:
var gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
gClipboardHelper.copyString(“请把我放在剪贴板上。”)
如果您有一个带有像 PthPasteboard 这样的 GUI 的剪贴板管理器,您会看到它立即出现在最新的缓冲区中。否则,要查看它,只需键入注释前缀 //
,然后按 control-v 或 apple-v 将其粘贴到缓冲区中的下一行;
//请把我放在剪贴板上。
非常感谢@Noitidart,他写了几篇文章/评论,为我提供了代码示例,并指出了对“特权”控制台的需要。
关于javascript - 如何在 Firefox 开发者工具 Web 控制台中测试复制粘贴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27736195/