【发布时间】:2017-01-11 04:49:16
【问题描述】:
我最近一直在做我的 include 一种新方法,这对调试有很大帮助,但我最近发现它只适用于 Firefox。
代码示例如下。在 Firefox 上运行时,会提示“Hello World”。在 Safari 和 Chrome 中运行时,会出现 blob 的 404。这段代码在 sn-p 中的作用与在 html 文件中的作用不同,所以我在下面包含了纯文本。
<script>
function includeScript(script) {
var file = new Blob([script], {
type: "text/javascript"
});
var url = URL.createObjectURL(file);
var addMe = document.createElement("script");
addMe.src = url + "?test";
addMe.type = "text/javascript";
document.head.appendChild(addMe);
}
function tryIt() {
includeScript("alert('hey'); foo.bar");
}
</script>
<body>
<button onclick="tryIt()">Try It</button>
</body>
为什么 Chrome 和 Safari 会为 blob 返回 404,我有办法绕过它吗?
我已确保在 Firefox 上启用了本地 strict_orgin_policy,它仍然有效,所以我认为这不是本地资源问题。此外,如果在 Chrome 的控制台中完成,blob 也可以正常工作。
【问题讨论】:
标签: google-chrome safari http-status-code-404 blob