【问题标题】:sdk/pageload-require is not definedsdk/pageload-require 未定义
【发布时间】:2013-02-16 13:14:12
【问题描述】:

我有 SDK 1.13,我想使用 pageload API 在 html 表单在 firefox 浏览器中加载时发出警报消息。但我在控制台上遇到错误:未定义要求。 我已将 SDK 添加的 cfx 文件链接到文件系统目录:

ln -s PATH_TO_SDK/bin/cfx ~/bin/cfx

仍然无法解决此错误。这是我的代码(包含在 XUL 文件中):

var pageMod = require("sdk/page-mod");
    pageMod.PageMod({
    include: "*.html",
    contentScript: 'window.alert("Page matches ruleset");'
}); 

【问题讨论】:

    标签: javascript firefox sdk pageload


    【解决方案1】:

    我假设您已经安装了 SDK 并在您的扩展程序中运行 bin\activate,然后再尝试运行 cfx,对吗?

    你不能从 XUL 文件运行这些东西,这就是为什么 require... 不能工作的原因。所有这些都需要在 main.js 中(在 lib 文件夹中)。您需要通过您将编写的内容脚本(在数据文件夹中)进行通信。当 html 加载时(我会从内容脚本中添加一个 window.listener 或其他内容),您将使用 port.emit("loaded") 或类似的内容,然后您必须在 main.js 中使用某些内容进行监听像 addon.port("loaded",somefunction)。这方面有很多很好的文档!

    【讨论】:

    • 我能否在 main.js 中使用 SKD,即使我的主应用程序在 XUL 中?我的意思是,我可以将两者结合起来吗?
    【解决方案2】:

    XUL 文件与 SDK 模块完全相反。 SDK and XUL Comparison.

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 2017-11-07
      • 1970-01-01
      • 2014-01-03
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 2013-11-20
      相关资源
      最近更新 更多