firefox pagemod包括有时不工作?

时间:2013-12-11 00:30:07

标签: facebook firefox firefox-addon-sdk

这里的firefox pagemod的代码段不适用于每个facebook页面:

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

我对包含部分有任何误解吗? 我也试过“* fecebook.com”,有时我还没有得到执行警报命令

示例: 例如对于上述两种解决方案,当我手动使用地址栏去fecebook.com它可以工作,但当我使用fecebook的主页按钮再次进入facebook.com它不起作用

1 个答案:

答案 0 :(得分:1)

使用您使用的正则表达式可以保持精确:

var pageMod = require("sdk/page-mod");
pageMod.PageMod({
  include: /^http[s]*\:\/\/.*facebook.com\/.*/,
  contentScript: "window.alert('Page matches ruleset');",
  contentScriptWhen: 'end'
});

我在Facebook.com上测试时注意到的另一个因素是,很多时候页面URL的更改并不一定意味着页面被完全重新加载。示例中的内容脚本代码仅在最初加载页面时进行归档。如果您想对网址中的更改做出反应而不管页面加载如何,您可能需要在内容脚本中监视html5历史记录api,然后对这些更改做出反应。