簡體   English   中英

IE瀏覽JavaScript功能故障

[英]Trouble Shoot JavaScript Function in IE

因此,此功能在geko和webkit瀏覽器中可以正常工作,但在IE7上則不能。 我已經想盡辦法找出問題所在了。 有什么適合您的嗎?

基本前提是您傳入一個數據對象(在本例中為jQuery的$ .getJSON的響應),我們檢查響應代碼,設置通知的類,附加一個層並將其顯示給用戶。 然后在時間限制后逆轉該過程。

function userNotice(data){
    // change class based on error code returned
    var myClass = '';
    if(data.code == 200){ myClass='success'; }
    else if(data.code == 400){ myClass='error'; }
    else{ myClass='notice'; }
    // create message html, add to DOM, FadeIn
    var myNotice = '<div id="notice" class="ajaxMsg '+myClass+'">'+data.msg+'</div>';
    $("body").append(myNotice);
    $("#notice").fadeIn('fast');
    // fadeout and remove from DOM after delay
    var t = setTimeout(function(){ $("#notice").fadeOut('slow',function(){ $(this).remove(); }); },5000);
}

我建議您查看服務器返回的JSON輸出。 .getJSON()沒有按預期方式調用回調函數時,通常是因為服務器返回的JSON在某處損壞。

此代碼使用存根數據在IE8中運行(不具有IE7,但也可以在兼容模式下嘗試)

var d = {code:200, msg:'lorem ipsum'}
userNotice(d);

所以我認為您應該檢查從服務器獲取的JSON。 它有您使用的所有鍵嗎? 哦! 並檢查您從服務器獲得的類似dict / json的內容: {key_one: 'value', key_two: 'value',} 注意最后一個逗號-這可能是IE中的問題。

暫無
暫無

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

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