Jer*_*rry 7 javascript google-chrome google-chrome-extension
我正在开发一个chrome扩展,我发现有重复无用的手动重新加载工作.
保存文件时,必须刷新chrome:\\extensions页面以允许浏览器重新加载扩展名.然后,您必须重新加载测试页以查看对文件的更改是否生效.
我是Chrome扩展开发的新手.有没有办法减少重复工作?我也很好奇Chrome扩展开发工作流程的最佳实践是什么.
英语不好,随意纠正.
gka*_*pak 11
扩展可以通过调用重新加载自身,chrome.runtime.reload()因此触发扩展来执行此操作.
一种对我有用的方法是观察标签的onUpdated事件并查找特定的URL(您已经提出),例如http://localhost/reloadX?id=....
这是示例代码(放在background.js中):
var myReloadURL = 'http://localhost/reloadX?id='
+ chrome.i18n.getMessage('@@extension_id');
chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
if (info.url === myReloadURL) {
chrome.tabs.remove(tabId);
chrome.runtime.reload();
}
});
Run Code Online (Sandbox Code Playgroud)
其他权限(在manifest.json中声明):
...
"permissions": [
...
"tabs",
"http://localhost/reloadX?id=*"
Run Code Online (Sandbox Code Playgroud)
myReloadURL 是任意的,可以是任何URL,只是不必是真正的URL或资源将无法访问.
现在,要重新加载您的扩展程序,您需要在Chrome中打开以下地址:
http://localhost/reloadX?id=<your_extension_id>
您可以选择如何在保存时触发该操作.它可能是on-save你编辑器中的一个钩子,一个自定义的grunt-watch任务(因为你似乎熟悉grunt)等等.
(顺便说一句,你不需要重新加载chrome://extensions页面.重新加载扩展就足够了.)
| 归档时间: |
|
| 查看次数: |
2293 次 |
| 最近记录: |