我的js代码已经工作了几年,即9 / chrome&火狐。
我的控制台日志分散在我的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>
&#13;
使用IE10,传递索引的onclick函数似乎得到了错误的数据,即使用索引查找的变量数据会给出错误的内容。
function ic2_selectPage (thisPage) {
console.log("ic2_selectPage, Start - index= " + thisPage) ;
if (pages.busyDrawing) {
console.log("ic2_selectPage, exit as still busy") ;
return ;
}
if (thisPage == pages.lastPage) {
console.log("ic2_selectPage, exit as same page") ;
return ;
}
pages.busyDrawing = 1 ;
document.getElementById("s_selection").innerHTML= "page " + pages.page[thisPage].name ;
console.log("ic2_selectPage, Setting status bar page name: " + pages.page[thisPage].name + " thisPage=" + thisPage) ;
if (pages.lastPage != null) {
document.getElementById("l_page"+pages.lastPage).style.background = "" ; // Back to default
}
document.getElementById("l_page"+thisPage).style.background = "#00ff11" ;
if (pages.drawingsState) {
console.log("ic2_selectPage, hide open drawing") ;
pages.page[pages.lastPage].svgObject.style.display = "none" ;
} else {
pages.drawingsState = 1 ;
document.getElementById("b_zoomin").disabled = false ;
document.getElementById("r_drawing").style.display = "block" ;
}
pages.lastPage = thisPage ;
pages.maxWidth = document.getElementById("r_drawing").offsetWidth ;
pages.maxHeight = document.getElementById("r_drawing").offsetHeight ;
console.log("ic2_selectPage, pages.maxWidth=" + pages.maxWidth + " pages.maxHeight=" + pages.maxHeight) ;
if (pages.page[thisPage].svgObject != null) { // Unhide as exists
console.log("ic2_selectPage, Unhide existing image") ;
pages.page[pages.lastPage].svgObject.style.display = "block" ;
pages.busyDrawing = 0 ;
return ;
}
console.log("ic2_selectPage, Opening drawing: " + pages.page[thisPage].name + " thisPage=" + thisPage) ;
document.getElementById("r_waitloading").style.display = "block" ;
// Create new region for SVG object
pages.page[thisPage].svgObject = document.createElement('object') ;
pages.page[thisPage].svgObject.setAttribute('type', 'image/svg+xml') ;
pages.page[thisPage].svgObject.setAttribute('data', pages.page[thisPage].image+"?check_304") ;
pages.page[thisPage].svgObject.setAttribute('width', pages.maxWidth);
pages.page[thisPage].svgObject.setAttribute('height', pages.maxHeight);
pages.page[thisPage].svgObject.onload = function() { ic2_svgLoaded(thisPage) ; } ;
var container = document.getElementById("r_drawing") ;
container.appendChild(pages.page[thisPage].svgObject) ;
pages.loadingTimerID = setTimeout('ic2_svgLoadFailed('+thisPage+')',60000) ; // 60 secs
//pages.page[thisPage].svgObject.onload = function() { ic2_svgLoaded(thisPage) ; } ;
}
&#13;
如果我在执行代码后打开控制台,那么日志记录就会很混乱。
如果单击列表中的第二项,代码将在状态栏中显示正确的文本(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
&#13;
清楚地显示(11从底部)onclick传递index = 0 ...检查DOM确认点击的列表项确实具有正确的索引= 1.
答案 0 :(得分:0)
Internet Explorer认为一个网站的console.log语句在其代码中被点击为开发网站,而不是生产。
完成编码后,删除所有的console.log语句,您的应用程序应该可以正常运行而不打开工具栏。
如果你绝对需要保留你的控制台语句,那么将它们包装成这样(我不建议你在生产代码中使用控制台语句):
if (console){
console.log("Screen is overrated!");
}