0
最近私のインクルードを新しい方法で行ってきましたが、これはデバッグに多大な助けになりましたが、最近Firefoxでのみ機能することがわかりました。クロムとサファリがスクリプトとしてブロブを受け入れないsrc引数
コードの例を以下に示します。 Firefoxで実行すると、 "Hello World"が警告されます。 SafariとChromeで実行すると、ブロブの404が発生します。このコードは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>
クロムとサファリはなぜブロブの404を返しますか?それを回避する方法はありますか?
Firefoxでローカルstrict_orgin_policyが有効になっていることを確認しましたが、それでも機能するため、ローカルリソースの問題ではないと思います。また、Chromeのコンソールでブロブを正常に動作させることもできます。