St.*_*son 5 google-chrome-extension
例如,如果我的扩展程序覆盖newtab页面,并且用户安装另一个也覆盖newtab页面的扩展程序.目前,只有一个newtab扩展显示,它通常不是我的.
我该怎么做才能检测到何时发生这种冲突并通知用户?
该管理API并没有告诉我,如果扩展覆盖任何网页,让我遗憾的是不能使用的.
这似乎不是 API 的现有功能。我建议您在http://crbug.com上打开一个错误。
如果做不到这一点,您可以执行以下令人讨厌的黑客攻击(我尚未测试过):
让您的新标签页在加载时向您的后台页面发送消息。
监听chrome.webNavigation.onBeforeNavigate涉及以下内容的事件chrome://newtab:
chrome.webNavigation.onBeforeNavigate.addListener(function(details) {
/* send message */
}, { url: [{ urlEquals: 'chrome://newtab/' }] });
Run Code Online (Sandbox Code Playgroud)当webNavigation看到浏览器加载chrome://newtab但不久之后您没有看到后台页面的消息时,您的新标签页可能没有被使用。从那里,您可以发送通知,或打开另一个带有通知的选项卡/窗口。
不幸的是,这需要webNavigation许可,如果您的扩展不需要它,那就很不幸了。它带有的警告(“此扩展可以访问您的选项卡和浏览活动”)可能会吓跑一些潜在用户,特别是如果用户没有明显的原因。(话又说回来,也许我对用户的安全意识过于乐观了。)如果您的扩展当前使用该tabsAPI,那么它无论如何都已经带有此通知。
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |