【问题标题】:How to pass out ContentScript data out to a module-global variable in JavaScript?如何将 ContentScript 数据传递给 JavaScript 中的模块全局变量?
【发布时间】:2011-03-09 06:13:52
【问题描述】:

我一直在做一个 Firefox 扩展项目,现在我被困在这个项目上,

var abc = 123;

var pageMod = require("page-mod");
pageMod.PageMod({
  include: "*",
  contentScriptWhen: 'ready',
  contentScript:  'var newabc = 456;',
});

其中 abc 是全局变量,newabc 是 contentScript 中的变量。

如何使 abc = newabc ?

谢谢!!

【问题讨论】:

  • 没有使用 FF 扩展的经验,但您是否尝试过将 contentScript 更改为 'var newabc = 456; abc = newabc;'?可能是一个愚蠢的建议,我只是不熟悉 FF 扩展范围。

标签: javascript firefox firefox-addon firefox-addon-sdk content-script


【解决方案1】:

对于 Addon-SDK v1.0b3 的PageMod API

var abc = 123;

var pageMod = require("page-mod");
pageMod.PageMod({
  include: "*",
  contentScriptWhen: 'ready',
  contentScript:  'var newabc = 456;postMessage(newabc);',
  onAttach: function onAttach(worker) {
    worker.on('message', function(newabc) {
      abc = newabc;
    });
  }
});

【讨论】:

  • 嗨,谢谢,我是 SO 新手,当时不太了解它的工作原理。答案已被标记。
猜你喜欢
  • 1970-01-01
  • 2018-09-02
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
相关资源
最近更新 更多