簡體   English   中英

JavaScript代碼段無法在Safari 11和12中使用

[英]Javascript Snippet not working in Safari 11 & 12

有誰知道為什么以下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?

解決了

問題在於以下幾行:

var codeLinks = document.querySelectorAll('[href*="/validate/promocode/"');

應該

var codeLinks = document.querySelectorAll('[href*="/validate/promocode/"]');

其他4個瀏覽器沒有抱怨的小語法錯誤。 結論:Safari對Syntaxerrors更加嚴格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM