这里的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它不起作用
答案 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,然后对这些更改做出反应。