javascript - chrome.webRequest 报出 undefined 的错误
大家讲道理
大家讲道理 2017-04-11 09:43:23
[JavaScript讨论组]

注:当前chrome浏览器版本为 54.0.2840.99 (64-bit)

目的:

开发CRX(chrome浏览器插件),能够修改页面所有的请求头


现状

已经按照百度上找到的 chrome.webRequest 相关教程进行操作

在 manifest.json 中配置了权限 permissions 使用 webRequest

{
    "manifest_version": 2,
    "name": "ChormeHeaderChange",
    "version": "1.0.0",
    "description": "ChormeHeaderChange",
    "author": "CX",
    "content_scripts": [
        {
            "matches": ["http://www.公司内部后台地址不方便透露.com/*"],
            "js": [
                "jquery-2.1.1.min.js",
                "code.js"
            ],
            "run_at": "document_end"
        }
    ],
    "permissions": ["*://*/*", "webRequest", "webRequestBlocking"],
    "web_accessible_resources": []
}

在 code.js 中进行改 header 的操作

/* 这里有些改header的操作

chrome.webRequest.onBeforeSendHeaders.........

*/
console.log(chrome);
console.log(chrome.webRequest);
console.log(chrome.webRequestBlocking);

然后通过chrome浏览器的扩展程序的开发者模式进行CRX文件的打包和安装并测试,然后发现报错说 undefined ,所以我直接打印 chrome.webRequest 看看是什么,结果是undefined。

那要怎么配置 manifest.json 或者怎么改代码才能使用 chrome.webRequest 呢?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(1)
PHP中文网

原来 chrome.webRequest 只能在 background 中运行

{
    "manifest_version": 2,
    "name": "ChormeHeaderChange",
    "version": "1.0.0",
    "description": "ChormeHeaderChange",
    "author": "CX",
    "background": {
        "scripts": ["code.js"]
    },
    "permissions": ["*://*/*", "webRequest", "webRequestBlocking"],
    "web_accessible_resources": []
}

这个很关键 :

"background": {"scripts": ["code.js"]}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号