如何知道当前环境是chrome扩展中的content.js或background.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何知道当前环境是chrome扩展中的content.js或background.js相关的知识,希望对你有一定的参考价值。

我在内容环境和后台环境中都包含一个脚本文件,我想判断代码中的当前环境。我尝试通过访问内容环境中受限制的模块来执行此操作。像那样

    if(chrome.tabs){
    // in background environment because tabs module cannn't use in content.js
    }else{
    // in content environment
    }

但这没有用,任何建议,我都会很感激

答案

我想有很多方法可以检查这一点。

一种方法是使用window.location检查当前页面的位置。如果它以chrome-extension://开头,你知道你在后台页面或弹出窗口。

您还可以在URL中检查chrome-extension://xxxxxxxxxx/_generated_background_page.html以确保您在后台页面上,除非您为后台页面指定了HTML文件。

以上是关于如何知道当前环境是chrome扩展中的content.js或background.js的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 chrome devtools 中的所有 cookie?

Chrome 扩展替换当前文本区域中的单词

在 chrome 扩展中,如何从当前 chrome 用户以外的 gmail 用户获取访问令牌?

Chrome 扩展:在加载的 Dom 上注入脚本

iframe如何在chrome扩展中访问父窗口

Chrome 扩展中的持久服务工作者