次の JavaScript スニペットが Chrome と Firefox の両方で機能するが、Safari 11 と 12 のバージョンでは機能しない理由を知っている人はいますか?
それが行う唯一のことは、urlパラメーターコードの値を取得し、必要なページのURLに挿入することです.
新しいバージョンの Safari で JavaScript に関する制限はありますか? オンラインで情報を見つけることができません..
<script>
window.addEventListener("DOMContentLoaded", function() {
if (window.location.href.indexOf('?code') > -1) {
var uniqueCode = window.location.search.split(/\?|&/g).filter(function(str){
return str.toLowerCase().indexOf('code') > -1
})[0].replace('code=','');
var codeLinks = document.querySelectorAll('[href*="/validate/promocode/"');
for (var i = 0; i < codeLinks.length; i++) {
var currentHref = codeLinks[i].href;
var newHref = currentHref.replace(/\/validate\/promocode\/.*\/buy\//, "/validate/promocode/" + uniqueCode + "/buy/");
codeLinks[i].href = newHref;
}
}
}, false);
</script>
これをテストする Mac はありませんが、Mac のバージョン 11 および 12 で Javascript がデフォルトで無効になっている可能性はありますか?