2017-06-15 58 views
-2

我在網站上有我的IE 11一個奇怪的行爲......我得到這個片段控制檯錯誤IE的JavaScript 11都想不需要「)」

function loadBasket (updated = false, buttonID = -1) { 
$.ajax({ 
    type: 'post', 
    url: azr_TemplateDir+'/ajax/page-basket.ajax.php', 
    success: function (data) { 
     $('.ajax-basket').html(data); 
     azrBinds(); 
    }, 
    complete: function (data) { 
     if(updated && buttonID >= 0) { 
      var button = $('div[data-buttonid="'+buttonID+'"]'); 
      button.addClass('updated'); 
     } 
    }, 
    error : function(jqxhr,textStatus,error){ 
     console.log(textStatus + ", " + error); 
    } 
}); 
} 

我的IE 11說就是了')'在第1行第30列,但是在等號之後...... Safari,Firefox,Chrome和Edge不會顯示此錯誤。

有沒有人有類似的問題?我會很高興爲每一個幫助

謝謝

+6

IE11不支持默認參數 - https://developer.mozilla.org/en/docs/ Web/JavaScript/Reference/Functions/Default_parameters – dan

+0

我該如何讓那些人停止使用即使微軟自己也沒有用過的瀏覽器。 – Endless

+0

@Endless爲什麼你認爲它已經死了? https://www.netmarketshare.com/browser-market-share.aspx?qprid=2&qpcustomd=0 – Justinas

回答

1

這是因爲IE 11不支持默認值。

function loadBasket (updated, buttonID) { 

    updated = typeof updated === "undefined" ? false : updated; 
    buttonID = typeof buttonID === "undefined" ? -1 : buttonID; 
    // ... 
1

IE不支持默認參數。

使用此結構,而不是:

function loadBasket (updated, buttonID) { 
    updated = typeof updated !== 'undefined' ? updated : false; 
    buttonID = typeof buttonID !== 'undefined' ? buttonID : -1;