在IE10页面上,JS脚本由于某种原因重新加载。我该怎么做详细的调试?

时间:2014-09-12 14:35:47

标签: javascript html internet-explorer

我有遗留项目,我在浏览器兼容性方面遇到问题。它在IE 7,8,9和10兼容模式下在IE10上运行完美,但在模式IE10页面由于某种原因重新加载。

此页面的脚本只是动态地执行xml-request并在特定框中加载结果。

function sendXmlRequest( xmlRequest )
{
    var conn;
    conn = new ActiveXObject("MSXML2.XMLHTTP");

    var xmlStatusElement = document.getElementById("xmlStatus");
    xmlStatusElement.innerHTML = 'Sending request...';

    var xmlRequestElement = document.getElementById("xmlRequest");
    xmlRequestElement.innerHTML = '';            
    xmlRequestElement.innerHTML = "<pre>" + escapeXml( xmlRequest )  + "</pre>";

    var indicatorImage = document.getElementById( "indicatorImage" );
    indicatorImage.style.display="inline";

    conn.open("POST","/some_url",true ); 
    conn.onreadystatechange = function( aEvt )
    {
        var xmlResponseElement = document.getElementById("xmlResponse");
        var loadButton = document.getElementById("loadButton");
        if(conn.readystate == 2)
        {
            xmlResponseElement.innerHTML = "<pre>Waiting for response...</pre>"; 
        }
        else if ( conn.readystate == 3 )
        { 
            xmlResponseElement.innerHTML = "<pre>Receiving for response...</pre>";                 
        }
        else if ( conn.readystate == 4 )
        {
            var xmlResponse = conn.responseText;
            xmlResponseElement.innerHTML = '';    
            xmlResponseElement.innerHTML = "<pre>" + escapeXml( xmlResponse ) + "</pre>";    
            indicatorImage.style.display = "none";
            xmlStatusElement.innerHTML = conn.statusText + " (" + conn.status + ")";
            loadButton.disabled = false;
        }
        else
        {
            loadButton.disabled = true;
        }
    };
    conn.send( xmlRequest );           
}

所以问题是在执行具有条件conn.readystate == 4的块之后,在IE10模式下会突然重新加载页面。在IE开发人员窗口中调试的其他模式下,脚本的执行在此块之后停止,但是在IE10模式的情况下调试到第三方脚本coolmenu 4.06(2002),其包括在页面顶部,并开始重建菜单,因为它执行在加载页面期间。所以重新加载已经由一些隐藏事件触发,我无法捕获在调试下触发的内容。

那么有人可以告诉我为什么在IE10重载中执行(我说的确切原因,而不只是关于版本之间的IE差异的一般短语)?或者建议一些调试工具,它将允许我捕获重新加载的触发器,所以我会找到重新加载的原因并修复它,所以在IE10模式下不会重新加载。

0 个答案:

没有答案