Javascript 是否可以通过脚本修改响应头?
我在Twitter页面上运行tampermonkey脚本,它注入CSS并发出ajax请求 Twitter返回破坏脚本执行的Javascript 是否可以通过脚本修改响应头?,javascript,tampermonkey,Javascript,Tampermonkey,我在Twitter页面上运行tampermonkey脚本,它注入CSS并发出ajax请求 Twitter返回破坏脚本执行的内容安全策略头。作为一种解决方法,我将删除带有另一个Chrome扩展的标题,但这很不方便 我想知道我是否可以删除自己的响应头 我还没有检查我们是否可以用这种方法修改标题(我可以修改的响应正文) 但是试着用猴子 // ==UserScript== // @name Inject script // @namespace myproject // @vers
内容安全策略
头。作为一种解决方法,我将删除带有另一个Chrome扩展的标题,但这很不方便
我想知道我是否可以删除自己的响应头 我还没有检查我们是否可以用这种方法修改标题(我可以修改的响应正文)
但是试着用猴子
// ==UserScript==
// @name Inject script
// @namespace myproject
// @version 0.1
// @description some description
// @author Admin
// @match https://somewebsite.com/*
// @run-at document-start
// ==/UserScript==
document.onreadystatechange = function () {
console.log(document.readyState);
if (document.readyState === "interactive") {
var modif2 = document.createElement("script");
modif2.type = "text/javascript";
modif2.src = 'https://unpkg.com/xhook@1.4.9/dist/xhook.min.js';
document.getElementsByTagName('head')[0].appendChild(modif2);
console.log('--- inserted src ----');
} else if (document.readyState === "complete") {
var modif = document.createElement("script");
modif.type = "text/javascript";
modif.innerHTML = `xhook.after(function(request, response) {
console.log('-----request accepted -----');
console.log(response.text)
});
`;
document.getElementsByTagName('head')[0].appendChild(modif);
console.log('--- injected JAVASCRIPT ----');
}
}
通常会有变通办法,但它们取决于您试图完成的具体细节。否则,Tampermonkey的开发人员将不得不将此功能添加到TM中。或者你可以向Violentmonkey提交一个拉取请求——这是开源的。TM dashboard中有一个选项“将Tampermonkey添加到站点的内容安全策略(CSP)”@BrockAdams谢谢你的建议。@wOxxOm是的,但据我所知,该选项不允许你添加其他域。