Rya*_* Li 4 google-chrome-extension
在 Chrome 扩展程序中,脚本可能被包含为内容脚本或后台脚本。它所做的大多数事情都是相同的,但有一些会根据不同的上下文而有所不同。
问题是,脚本如何知道它在哪个上下文中运行?谢谢你。
我认为这是一个相当健壮的版本,在我的初始测试中工作并且不需要较慢的 try catch,并且它至少标识了 chrome 扩展的三个主要上下文,并且应该让您知道您是否在基本页面上好。
av = {};
av.Env = {
isChromeExt: function(){
return !!(window['chrome'] && window['chrome']['extension'])
},
getContext: function(){
var loc = window.location.href;
if(!!(window['chrome'] && window['chrome']['extension'])){
if(/^chrome/.test(loc)){
if(window == chrome.extension.getBackgroundPage()){
return 'background';
}else{
return 'extension';
}
}else if( /^https?/.test(loc) ){
return 'content';
}
}else{
return window.location.protocol.replace(':','');
}
}
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1308 次 |
最近记录: |