【问题标题】:Calling Greasemonkey user.js from a custom Firefox Extension从自定义 Firefox 扩展调用 Greasemonkey user.js
【发布时间】:2011-03-07 08:27:54
【问题描述】:

我正在修改现有的 GrabThemAll Firefox 扩展,它采用 URL 列表,将它们加载到各自的浏览器窗口中,并截取页面的屏幕截图。

我也想在这个页面上运行一个greasemonkey 脚本,但我不知道如何去做。我已将 GM 设置为在加载相关 URL 时自动执行(并且在正常浏览时确实有效),但在其自己的浏览器窗口中加载内容时,似乎 GM 扩展没有运行。

对于如何从我的扩展程序中调用 GM 脚本(或让浏览器窗口运行扩展程序)有任何指示或想法吗?

【问题讨论】:

  • 我之前没用过GrabThemAll,它会打开标签/窗口并截图吗?还是以其他方式在后台拍摄快照?
  • 它会弹出一个新对话框并在其中放置一个浏览器组件。然后,此浏览器用于加载您希望截取屏幕截图的所有 URL。

标签: firefox greasemonkey firefox-addon


【解决方案1】:

尝试使用Scriptish,我认为它可能会代替Greasemoneky,因为它会侦听"content-document-global-created" 事件,并且GM 正在侦听主浏览器窗口内的新标签打开和标签位置更改。

如果 Scriptish 没有在您的扩展程序打开的选项卡上运行用户脚本,那么您可以使用如下代码强制它:

Cc["@scriptish.erikvold.com/scriptish-service;1"].getService().wrappedJSObject.docReady(safeWindow, chromeWindow);

其中 chromeWindow 将定义 gBrowser,而 safeWin 是包装内容 window

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多