[英]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.