我的js代碼已經在ie 9/chrome & firefox下工作了幾年。IE 10,我的js打破了,除非控制檯打開
我確實有console.log分散在我的js代碼中,但是即使提供我自己的console.log也沒有幫助。
我有一個列表,每個項目都有自己的onclick調用。
<ul>
<li id="l_page0" onclick="ic2_selectPage(0)">Air Handling Unit 1</li>
<li id="l_page1" onclick="ic2_selectPage(1)">Air Handling Unit 2</li>
</ul>
隨着IE10,的onclick函數傳遞指數似乎得到了錯誤的數據,也就是可變數據擡起頭來使用指數給出錯誤的內容。
function ic2_selectPage (thisPage) {
\t console.log("ic2_selectPage, Start - index= " + thisPage) ;
\t if (pages.busyDrawing) {
\t \t console.log("ic2_selectPage, exit as still busy") ;
\t \t return ;
\t } \t
\t if (thisPage == pages.lastPage) {
\t \t console.log("ic2_selectPage, exit as same page") ;
\t \t return ;
\t } \t
\t pages.busyDrawing = 1 ;
\t document.getElementById("s_selection").innerHTML= "page " + pages.page[thisPage].name ;
\t console.log("ic2_selectPage, Setting status bar page name: " + pages.page[thisPage].name + " thisPage=" + thisPage) ;
\t if (pages.lastPage != null) {
\t \t document.getElementById("l_page"+pages.lastPage).style.background = "" ; \t // Back to default
\t } \t
\t document.getElementById("l_page"+thisPage).style.background = "#00ff11" ;
\t if (pages.drawingsState) {
\t \t console.log("ic2_selectPage, hide open drawing") ;
\t \t pages.page[pages.lastPage].svgObject.style.display = "none" ;
\t } else {
\t \t pages.drawingsState = 1 ;
\t \t document.getElementById("b_zoomin").disabled = false ;
\t \t document.getElementById("r_drawing").style.display = "block" ;
\t } \t
\t pages.lastPage = thisPage ;
\t pages.maxWidth = document.getElementById("r_drawing").offsetWidth ;
\t pages.maxHeight = document.getElementById("r_drawing").offsetHeight ;
\t console.log("ic2_selectPage, pages.maxWidth=" + pages.maxWidth + " pages.maxHeight=" + pages.maxHeight) ;
\t if (pages.page[thisPage].svgObject != null) { \t // Unhide as exists
\t \t console.log("ic2_selectPage, Unhide existing image") ;
\t \t pages.page[pages.lastPage].svgObject.style.display = "block" ;
\t \t pages.busyDrawing = 0 ;
\t \t return ;
\t }
\t console.log("ic2_selectPage, Opening drawing: " + pages.page[thisPage].name + " thisPage=" + thisPage) ;
\t document.getElementById("r_waitloading").style.display = "block" ;
\t // Create new region for SVG object \t
\t pages.page[thisPage].svgObject = document.createElement('object') ;
\t pages.page[thisPage].svgObject.setAttribute('type', 'image/svg+xml') ;
\t pages.page[thisPage].svgObject.setAttribute('data', pages.page[thisPage].image+"?check_304") ;
\t pages.page[thisPage].svgObject.setAttribute('width', pages.maxWidth);
\t pages.page[thisPage].svgObject.setAttribute('height', pages.maxHeight);
\t pages.page[thisPage].svgObject.onload = function() { ic2_svgLoaded(thisPage) ; } ;
\t var container = document.getElementById("r_drawing") ;
\t container.appendChild(pages.page[thisPage].svgObject) ;
\t pages.loadingTimerID = setTimeout('ic2_svgLoadFailed('+thisPage+')',60000) ; \t // 60 secs
\t //pages.page[thisPage].svgObject.onload = function() { ic2_svgLoaded(thisPage) ; } ;
}
如果我執行的代碼後,打開控制檯中的日誌是一樣迷茫。
如果我點擊列表中的第二個項目,代碼會在狀態欄中顯示正確的文本(name for index = 1),但會獲取鏈接到index = 0的圖像文件。
然後打開控制檯(F12),我得到以下幾點:
HTML1300: Navigation occurred.
File: 127.0.0.1:88
ic2_onload, instanceID=971506572
ic2_clockInit, Start
ic2_cookieInit, Start
ic2_fetchSites, Start
ic2_jqueryListSites, Start
ic2_buildSitesList, Start
ic2_jqueryGetBranding, Start
ic2_getcookie, Start
ic2_verifyUser, Start
ic2_verifyUser, Resp:1
ic2_verifyUser, Done
login.proceed, Start
ic2_fetchPages, Start
ic2_jqueryListPages, Start
ic2_buildPagesList, Start
ic2_wizard, start - pages
ic2_jqueryCountAlarms, Start
ic2_pages, Start
ic2_wizard, start - last
trend.hideTrend, Start
users.hideUsers, Start
ic2_selectPage, Start - index= 0
ic2_selectPage, Setting status bar page name: Air Handling Unit 1 thisPage=0
ic2_selectPage, pages.maxWidth=1360 pages.maxHeight=903
ic2_selectPage, Opening drawing: Air Handling Unit 1 thisPage=0
ic2_svgLoaded, Start
ic2_svgLoaded, svgDoc=[object Document]
ic2_svgLoaded, svgDoc.readyState=complete svgDoc.childNodes=2
ic2_addPoints, Start
ic2_addPoints, svgRoot.width=2000 svgRoot.height=1412.19
ic2_addPoints, myComps.length=164
pixelsScale = 0.9992886402004599
其中明確showns(11從底部)是的onclick經過指數= 0 ...檢查DOM確認點擊的列表項確實具有正確的索引= 1。
謝謝你的迴應。 1)if(window.console)在IE10中測試TRUE(沒有控制檯打開)。 2)即使我通過定義我自己的console.log函數來終止控制檯,故障行爲仍會繼續。 – Derek 2015-03-02 15:30:13
我已經設置了一個溫度。鏈接到我工作電腦上的網站。 http://purpleswift.selfip.com:88登錄名/密碼是demo/demo(如屏幕提示)。按頁面菜單項。然後打開AHU 1或2,按F5刷新並重試。在幾次嘗試中,您應該爲選定的AHU2獲得圖像AHU1打開。 – Derek 2015-03-02 18:03:54