我正在使用Firefox控制台从github页面(https://github.com/user/repo/pull/1/files
专门)运行一些JS。
我希望能够加载回购文件的内容,为此我正在使用
var client = new XMLHttpRequest();
client.open("GET", "https://github.com/user/repo/raw/master/path-to-file", true);
client.onreadystatechange = function() {
alert(client.responseText + client.responseURL);
}
client.send();
问题是内容实际上是https://raw.githubusercontent.com/user/repo/master/path-to-file
而我正在加载的网址(这是github网页中Raw
按钮所指向的网址)正在重定向到那个。< / p>
控制台中的Firefox错误:
Content Security Policy: The page’s settings blocked the loading of a resource at
https://raw.githubusercontent.com/user/repo/master/path-to-file
(“connect-src https://github.com https://uploads.github.com
https://status.github.com https://collector.githubapp.com
https://api.github.com https://www.google-analytics.com
https://github-cloud.s3.amazonaws.com wss://live.github.com”).
有没有办法以某种方式加载该文件?
我认为我需要从github页面运行请求,以便即使文件位于私人仓库中也可以访问(因为在发送请求时使用了用户的会话)。
我正在向CSP中的页面发送请求,并且该页面执行重定向,所以我不明白为什么CSP应该阻止我,因为我没有尝试访问“未经授权”的资源
替代方法是在https://github.com/user/repo/blob/master/path-to-file
加载github网页,但这意味着我必须解析它以删除所有显示标记,并且它很脆弱,因为对github的每次更改都可能会破坏脚本。