最近在寫程式中遇到這樣一個錯誤
代码
網頁錯誤詳細資料
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Tue, 30 Mar 2010 01:42:50 UTC
訊息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
行: 0
字元: 0
程式碼: 0
URI: http://localhost:2322/ScheduleModel/Pages/SignMemberMaintain.aspx?CertificateKey=i9BmNO8EiDtUNbfbzY0W9sWk9QiNfmfrPG3hDrhtxIfenjYvmmTkkQ%3d%3d&
使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
時間戳記: Tue, 30 Mar 2010 01:42:50 UTC
訊息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
行: 0
字元: 0
程式碼: 0
URI: http://localhost:2322/ScheduleModel/Pages/SignMemberMaintain.aspx?CertificateKey=i9BmNO8EiDtUNbfbzY0W9sWk9QiNfmfrPG3hDrhtxIfenjYvmmTkkQ%3d%3d&
產生這個錯誤的代碼如下:
代码
var msgw,msgh,bordercolor;
msgw = 400 ;
msgh = 100 ;
titleheight = 25
bordercolor = "" # 336699 "" ;
titlecolor = "" #99CCFF "" ;
var bgObj = document.createElement( "" div "" );
bgObj.setAttribute( "" id "" , "" bgDiv "" );
bgObj.style.position = "" absolute "" ;
bgObj.style.top = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetTop + "" px ""
bgObj.style.background = "" # 777 "" ;
bgObj.style.filter = "" progid:DXImageTransform.Microsoft.Alpha(style = 3 ,opacity = 25 ,finishOpacity = 75 "" ;
bgObj.style.opacity = "" 0.6 "" ;
bgObj.style.left = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetLeft + "" px ""
bgObj.style.width = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetWidth + "" px ""
bgObj.style.height = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetHeight + "" px ""
bgObj.style.zIndex = "" 10000 "" ;
document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).appendChild(bgObj);
var msgObj = document.createElement( "" div "" );
msgObj.setAttribute( "" id "" , "" msgDiv "" );
msgObj.setAttribute( "" align "" , "" center "" );
msgObj.style.background = "" white "" ;
msgObj.style.border = "" 1px solid "" + bordercolor;
msgObj.style.position = "" absolute "" ;
msgObj.style.left = "" 50 % "" ;
msgObj.style.top = "" 50 % "" ;
msgObj.style.font = "" 12px / 1 .6em Verdana, Geneva, Arial, Helvetica, sans - serif "" ;
msgObj.style.marginLeft = "" - 225px "" ;
msgObj.style.marginTop = - 75 + document.documentElement.scrollTop + "" px "" ;
msgObj.style.width = msgw + "" px "" ;
msgObj.style.height = msgh + "" px "" ;
msgObj.style.textAlign = "" center "" ;
msgObj.style.lineHeight = "" 25px "" ;
msgObj.style.zIndex = "" 10001 "" ;
document.body.appendChild(msgObj);
var txt = document.createElement( "" p "" );
txt.style.margin = "" 1em 0 ""
txt.setAttribute( "" id "" , "" msgTxt "" );
txt.innerHTML = "" 頁面初始化資料不全,請勿操作 ! "" ;
document.getElementById( "" msgDiv "" ).appendChild(txt);
msgw = 400 ;
msgh = 100 ;
titleheight = 25
bordercolor = "" # 336699 "" ;
titlecolor = "" #99CCFF "" ;
var bgObj = document.createElement( "" div "" );
bgObj.setAttribute( "" id "" , "" bgDiv "" );
bgObj.style.position = "" absolute "" ;
bgObj.style.top = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetTop + "" px ""
bgObj.style.background = "" # 777 "" ;
bgObj.style.filter = "" progid:DXImageTransform.Microsoft.Alpha(style = 3 ,opacity = 25 ,finishOpacity = 75 "" ;
bgObj.style.opacity = "" 0.6 "" ;
bgObj.style.left = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetLeft + "" px ""
bgObj.style.width = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetWidth + "" px ""
bgObj.style.height = document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).offsetHeight + "" px ""
bgObj.style.zIndex = "" 10000 "" ;
document.getElementById( ' " + UpdatePanel1.ClientID + @" ' ).appendChild(bgObj);
var msgObj = document.createElement( "" div "" );
msgObj.setAttribute( "" id "" , "" msgDiv "" );
msgObj.setAttribute( "" align "" , "" center "" );
msgObj.style.background = "" white "" ;
msgObj.style.border = "" 1px solid "" + bordercolor;
msgObj.style.position = "" absolute "" ;
msgObj.style.left = "" 50 % "" ;
msgObj.style.top = "" 50 % "" ;
msgObj.style.font = "" 12px / 1 .6em Verdana, Geneva, Arial, Helvetica, sans - serif "" ;
msgObj.style.marginLeft = "" - 225px "" ;
msgObj.style.marginTop = - 75 + document.documentElement.scrollTop + "" px "" ;
msgObj.style.width = msgw + "" px "" ;
msgObj.style.height = msgh + "" px "" ;
msgObj.style.textAlign = "" center "" ;
msgObj.style.lineHeight = "" 25px "" ;
msgObj.style.zIndex = "" 10001 "" ;
document.body.appendChild(msgObj);
var txt = document.createElement( "" p "" );
txt.style.margin = "" 1em 0 ""
txt.setAttribute( "" id "" , "" msgTxt "" );
txt.innerHTML = "" 頁面初始化資料不全,請勿操作 ! "" ;
document.getElementById( "" msgDiv "" ).appendChild(txt);
產生錯誤的那句我已經Highlight.初步認為是在Body還沒有處理結束的時候又向裡面加入新的元素導致(It is not fully loaded).
此時document正處於loading與interactive狀態之間
解決方法:
1.先進行document.readyState狀態判斷,當它為complete時再進行相應的操作,或者給script標籤加上defer屬性(該屬性在IE8中已不獲支持)。
jquery裏的$(document).ready(function(){
// 在這裏寫你的代碼...
});
jquery裏的$(document).ready(function(){
// 在這裏寫你的代碼...
});
或者
2.javascript中加入了 setTimeout("XXXX()",1000);,使其獲得足夠的載入時間後執行目標(XXXX)的function