gpt4 book ai didi

safari-extension - 如何拦截网络请求

转载 作者:行者123 更新时间:2023-12-04 07:24:24 24 4
gpt4 key购买 nike

有没有像 Chromium 的 chrome.webRequest Safari 扩展?我浏览了他们的文档 here .我能找到的最接近的东西是 SafariBeforeNavigateEvent .这将阻止新页面加载,但仍会将请求发送到服务器。此外,我认为它不会调用 AJAX 请求的监听器。有人尝试过类似的东西吗?

最佳答案

我们通过使用“xmlhttprequest”覆盖解决了这个问题。

这是我们的 content.js 。我们注入(inject) content.js 作为启动脚本

    $(document).ready(function() {

var myScriptTag = document.createElement('script');
myScriptTag.src = safari.extension.baseURI + 'js/injectedToPage.js';
document.body.appendChild(myScriptTag);

});

注入(inject)代码是:(injectedToPage.js)
XMLHttpRequest.prototype.reallySend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function (body) {

console.log("--req.body:---");
console.log(body);

this.reallySend(body);

};
var req = new XMLHttpRequest();
req.open("GET", "any.html", true);
req.send(null);

关于safari-extension - 如何拦截网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20937287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com