我们如何检查这是否为内容脚本?

我们开发Firefox的扩展。 该脚本需要知道它是内容脚本还是后台脚本(有时相同的脚本可以是内容脚本和后台脚本)。 我们试着用下面的代码来做到这一点:

if (typeof exports === 'undefined') {
    // we're in a content script.
} else {
    // we're in a background script.
}

但问题在于某些内容脚本中的typeof exports不是'undefined' 。 有没有更好的方法来知道我们在内容脚本中的时间?

编辑 :我有一个错误,实际上在内容脚本中typeof exports'undefined' 。 因此,检查typeof exports可能是识别内容脚本的可靠方法。


我想到的第一件事 - 包括一些单独的文件作为内容脚本的扩展名,它将具有全局变量。 例如文件content_script_definition.js:

isContentScript = true;

然后使用下一个代码:

if (typeof isContentScript !== 'undefined' && isContentScript) {
    // we're in a content script.
} else {
    // we're in a background script.
}

也许有一些记录的功能,不知道这个...


其他方式

if(String(this).indexOf("Sandbox") >= 0){
  //main.js
}
else{
  //content script
}
链接地址: http://www.djcxy.com/p/45753.html

上一篇: how do we check if this is a content script?

下一篇: Firefox Extension util/match