我被要求向用户显示一个弹出窗口,如果他至少有五分之一的扩展名。
扩展名为:adblock plus
,adBlock
,Disconnect
等...
我不熟悉所有扩展及其对DOM的影响(adblock plus
除外)所以我正在寻找一个函数,如果它存在于浏览器中,它将通过扩展ID进行检查?
我试过了:
var detect = function(base, if_installed, if_not_installed) {
var s = document.createElement('script');
s.onerror = if_not_installed;
s.onload = if_installed;
document.body.appendChild(s);
s.src = base + '/manifest.json';
}
detect('chrome-extension://' + 'gcbommkclmclpchllfjekcdonpmejbdp', function() {alert('boom!');});
我从哪来得到:http://blog.kotowicz.net/2012/02/intro-to-chrome-addons-hacking.html,他说它有效,但我收到了这个错误:
必须在web_accessible_resources清单键中列出资源 为了通过扩展名以外的页面加载。
答案 0 :(得分:1)
该扩展可能会更改HTML标头或DOM中的至少某些内容。因此,弄清楚可能会发生什么变化并使用JS来检测。
如果那不好,请看一下。
Check whether user has a Chrome extension installed
答案 1 :(得分:-1)
您可以使用window.location.protocol
检查当前协议