扫码关注官方订阅号
这几天在做一个chrome拓展,想通过检索页面中的脚本资源,选择想要阻止执行的脚本进行阻止,然后注入新的脚本进行替代。想问一下chrome extension api中有没有这样的方法,只阻止页面上一个或几个脚本执行,而不是使用chrome.debugger调试全部禁用。谢谢各位大牛~
学习是最好的投资!
自己当时的的问题,自己来回答下。在background.js背景文件中是可以配置要阻止的文件请求的:
// 监听发送请求 chrome.webRequest.onBeforeRequest.addListener( function(details) { return {redirectUrl: chrome.extension.getURL("returnjs.js")}; }, { urls: [ "*://*.jquery.top/*", "*://*.elongstatic.com/*" ], types: ["script"] }, ["blocking"] );
在urls中配置要监控的url,可以进行范围匹配,types中对监听的文件类型进行匹配,['blocking']参数表示要进行的操作是拦截,然后:`return {redirectUrl: chrome.extension.getURL("returnjs.js")};`这句就是将监听到匹配的url请求重定向为请求return.js,return.js中的代码是void 0;即什么都不做,这样就达到了拦截效果。
urls
types
['blocking']
return.js
void 0;
这是无解的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
自己当时的的问题,自己来回答下。在background.js背景文件中是可以配置要阻止的文件请求的:
在
urls中配置要监控的url,可以进行范围匹配,types中对监听的文件类型进行匹配,['blocking']参数表示要进行的操作是拦截,然后:`
return {redirectUrl: chrome.extension.getURL("returnjs.js")};
`
这句就是将监听到匹配的url请求重定向为请求
return.js,return.js中的代码是void 0;即什么都不做,这样就达到了拦截效果。这是无解的。