Javascript 是否可以通过脚本修改响应头?

Javascript 是否可以通过脚本修改响应头?,javascript,tampermonkey,Javascript,Tampermonkey,我在Twitter页面上运行tampermonkey脚本,它注入CSS并发出ajax请求 Twitter返回破坏脚本执行的内容安全策略头。作为一种解决方法,我将删除带有另一个Chrome扩展的标题,但这很不方便 我想知道我是否可以删除自己的响应头 我还没有检查我们是否可以用这种方法修改标题(我可以修改的响应正文) 但是试着用猴子 // ==UserScript== // @name Inject script // @namespace myproject // @vers

我在Twitter页面上运行tampermonkey脚本,它注入CSS并发出ajax请求

Twitter返回破坏脚本执行的
内容安全策略
头。作为一种解决方法,我将删除带有另一个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是的,但据我所知,该选项不允许你添加其他域。