Firefox SDK页面模块不工作
Firefox SDK page-mod not working
我安装了以下扩展:EPUBReader和Google Translator。后者是使用Firefox SDK构建的,最初有一个page-mod include: ["*"]
,所以它只适用于http和https URL。我将该行修改为include: ["*","file://*","about:*"]
,这样它也可以使用本地文件和"about:"链接。
我之所以添加"about:*"
,是因为我想将其扩展到我使用EPUBReader阅读的epub书籍上的单词。EPUBReader生成一个类似于"about:EPUBReader?id=5"的URL。问题是,当我双击单词时,谷歌翻译仍然不会翻译任何内容。这很有趣,因为每当我尝试打开一个看起来像"about:whatever"的虚假"about:"URL时,它都会起作用。我的意思是,你可以双击错误页面中的任何单词,它就会被翻译。
我在这里粘贴页面mod代码片段:
var workers = [], content_script_arr = [];
pageMod.PageMod({ /* page */
include: ["*","file://*","about:*"],
contentScriptFile: [data.url("content_script/inject.js")],
contentScriptWhen: "ready",
contentStyleFile : data.url("content_script/inject.css"),
onAttach: function(worker) {
array.add(workers, worker);
worker.on('pageshow', function() { array.add(workers, this); });
worker.on('pagehide', function() { array.remove(workers, this); });
worker.on('detach', function() { array.remove(workers, this); });
content_script_arr.forEach(function (arr) {
worker.port.on(arr[0], arr[1]);
});
}
});
帮助任何人??
您可以从开始
include: /.*/,
它将page-mod
添加到每个单个URL并查看罪魁祸首是否在include
中。如果这解决了问题,你可以进一步缩小范围。
它应该解决这个问题,因为"*"
只匹配http
、ftp
和https
URLS。看见https://developer.mozilla.org/en-US/Add-ons/SDK/Low-Level_APIs/util_match-pattern#Wildcards.
但也许inject.js
文件需要包含在一个可公开访问的URL中,然后发送给翻译器。。。
相关文章:
- grunt serve:dist时找不到Angular.js模块,但grunt serve工作正常
- angularjs模块不工作
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 使用 Babel 将 ES6 模块转换为 ES5 AMD 模块,无法按预期工作
- Firefox SDK页面模块不工作
- NodeJS Semaphore模块:它是如何工作的
- 语义UI粘性模块不工作
- 节点's模块async没有'没有按预期工作
- 我很奇怪“异步”模块不能很好地工作
- 角度模块不工作
- 与控制器对话的指令 - 为什么我的模块不工作?(角度JS)
- 有没有像 Nodejs 中的 django 管理员一样工作的模块
- 哪些jQuery UI模块是动画正常工作所必需的
- 两个异步模块函数异步工作
- 可以't让这个关键字在节点模块中工作
- AngularJS应用程序组件(模块、工厂、控制器)定义的确切工作方式
- 继承和依赖项注入如何与角度模块一起工作
- 即使手动ssh可以工作,也无法使用带有ssh2模块的nodejs进行身份验证
- Meteor 0.9模数部署;t工作-“;找不到模块'纤维'&”;