Javascript Ajax页面加载器在Chrome中不工作,页面加载后继续加载

Javascript Ajax页面加载器在Chrome中不工作,页面加载后继续加载,javascript,jquery,Javascript,Jquery,下面是我为页面加载器编写的代码,它在Chrome中有一个问题,即使在页面完全加载后,它仍会继续旋转 下面是用于页面加载程序的函数的脚本: <script> function handleStateChange() { //alert("Changed"); switch (document.getElementById('MainFrmid').readyState) { case "complete": toggleLoad

下面是我为页面加载器编写的代码,它在Chrome中有一个问题,即使在页面完全加载后,它仍会继续旋转

下面是用于页面加载程序的函数的脚本:

<script>
function handleStateChange() {
    //alert("Changed"); 
    switch (document.getElementById('MainFrmid').readyState) {
        case "complete":
            toggleLoading(false);
            break;
        case "loading":
        case "interactive":
        case "uninitialized":
            toggleLoading(true);
            break;
        default:
            toggleLoading(false);
            break;
    }
}

function setupLoader() {
    var objIFrame = window.document.getElementById("MainFrmid");
    if (objIFrame.addEventListener) {
        objIFrame.addEventListener('onreadystatechange', handleStateChange, false);
    } else if (objIFrame.attachEvent) {
        objIFrame.attachEvent('onreadystatechange', handleStateChange);
    } else {
        objIFrame.onclose = temp();
    }
}

function toggleLoading(isVisible) {
    objProgress = document.getElementById("divLoading");
    var objIFrame = window.document.getElementById("MainFrmid")
    if (isVisible) {
        objProgress.style.height = objIFrame.height;
        objProgress.style.width = objIFrame.width;
        //objProgress.style.top = objIFrame.style.top;
        //objProgress.style.left = objIFrame.style.left;

        //setTimeout(function () {
            //objIFrame.attr("style", "display:none;");
            //objIFrame.addClass("modal");
            //$('divLoading').append(modal);
            //var loading = $(".loading");
            //loading.show();
            //var top = Math.max(jQuery(window).height() / 2 - objProgress.offsetHeight / 2, 0);
            //var left = Math.max(jQuery(window).width() / 2 - objProgress.offsetWidth / 2, 0);
            //loading.css({ top: top, left: left });
            //objProgress.style.top = top;
            //objProgress.style.left = left;
        //}, 200);
        objProgress.style.display = "block";
    }
    else {
        //objIFrame.removeClass("modal");
        //objIFrame.attr("style", "display:block;");
        objProgress.style.display = "none";
    }
}
<script/>
<table> 
    <tr>
        <td style="height:81%; width:100%"  valign="top" cellSpacing=0 cellPadding=0>

            <iframe  id="MainFrmid" style=" height:521px"  width="100%" height="100%" name="MainFrm" runat="server"  language="javascript"  frameborder="0"  scrolling="yes"></iframe>
            <script language="javascript" type="text/javascript">
                setupLoader();
            </script>
            <div id="divLoading" align="center" style="width:100pt;height:100pt;   display:none;"">
                <div style="position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; overflow: hidden;padding: 0; margin: 0; background-color: #F0F0F0; filter: alpha(opacity=50);opacity: 0.5; z-index: 100000;">
                </div>
                <div style="position: fixed; top: 40%; left: 40%; z-index: 100001; background-color: #FFFFFF; border: 0px solid #000000;background-repeat: no-repeat; background-position: center; text-align: center;">
                    <table>
                        <tr>
                            <td>
                                <img src="Images/ajax-loader.gif" alt="" />
                            </td>
                            <td>
                                <asp:Label CssClass="desc_cell" BackColor="Transparent" ID="lblret" runat="server" Text="Loading. Please wait..."></asp:Label>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>
        </td>
    </tr>
</table>

函数handleStateChange(){
//警报(“变更”);
开关(document.getElementById('MainFrmid').readyState){
案例“完成”:
切换加载(假);
打破
案例“加载”:
案例“交互式”:
案例“未初始化”:
切换加载(真);
打破
违约:
切换加载(假);
打破
}
}
函数setupLoader(){
var objIFrame=window.document.getElementById(“MainFrmid”);
if(objIFrame.addEventListener){
ObjFrame.addEventListener('onreadystatechange',handleStateChange,false);
}else if(对象框架附件){
ObjFrame.attachEvent('onreadystatechange',handleStateChange);
}否则{
objIFrame.onclose=temp();
}
}
功能切换加载(isVisible){
objProgress=document.getElementById(“divLoading”);
var objIFrame=window.document.getElementById(“MainFrmid”)
如果(可见){
objProgress.style.height=objIFrame.height;
objProgress.style.width=objIFrame.width;
//objProgress.style.top=objIFrame.style.top;
//objProgress.style.left=objIFrame.style.left;
//setTimeout(函数(){
//attr(“样式”,“显示:无;”);
//objIFrame.addClass(“模态”);
//$('divLoading')。追加(模态);
//变量加载=$(“.loading”);
//loading.show();
//var top=Math.max(jQuery(window.height()/2-objProgress.offsetHeight/2,0);
//var left=Math.max(jQuery(window.width()/2-objProgress.offsetWidth/2,0);
//正在加载.css({top:top,left:left});
//objProgress.style.top=top;
//objProgress.style.left=左;
//}, 200);
objProgress.style.display=“block”;
}
否则{
//对象框架removeClass(“模态”);
//attr(“样式”,“显示:块;”);
objProgress.style.display=“无”;
}
}
下面是我为页面加载器创建DIV标记的表格:

<script>
function handleStateChange() {
    //alert("Changed"); 
    switch (document.getElementById('MainFrmid').readyState) {
        case "complete":
            toggleLoading(false);
            break;
        case "loading":
        case "interactive":
        case "uninitialized":
            toggleLoading(true);
            break;
        default:
            toggleLoading(false);
            break;
    }
}

function setupLoader() {
    var objIFrame = window.document.getElementById("MainFrmid");
    if (objIFrame.addEventListener) {
        objIFrame.addEventListener('onreadystatechange', handleStateChange, false);
    } else if (objIFrame.attachEvent) {
        objIFrame.attachEvent('onreadystatechange', handleStateChange);
    } else {
        objIFrame.onclose = temp();
    }
}

function toggleLoading(isVisible) {
    objProgress = document.getElementById("divLoading");
    var objIFrame = window.document.getElementById("MainFrmid")
    if (isVisible) {
        objProgress.style.height = objIFrame.height;
        objProgress.style.width = objIFrame.width;
        //objProgress.style.top = objIFrame.style.top;
        //objProgress.style.left = objIFrame.style.left;

        //setTimeout(function () {
            //objIFrame.attr("style", "display:none;");
            //objIFrame.addClass("modal");
            //$('divLoading').append(modal);
            //var loading = $(".loading");
            //loading.show();
            //var top = Math.max(jQuery(window).height() / 2 - objProgress.offsetHeight / 2, 0);
            //var left = Math.max(jQuery(window).width() / 2 - objProgress.offsetWidth / 2, 0);
            //loading.css({ top: top, left: left });
            //objProgress.style.top = top;
            //objProgress.style.left = left;
        //}, 200);
        objProgress.style.display = "block";
    }
    else {
        //objIFrame.removeClass("modal");
        //objIFrame.attr("style", "display:block;");
        objProgress.style.display = "none";
    }
}
<script/>
<table> 
    <tr>
        <td style="height:81%; width:100%"  valign="top" cellSpacing=0 cellPadding=0>

            <iframe  id="MainFrmid" style=" height:521px"  width="100%" height="100%" name="MainFrm" runat="server"  language="javascript"  frameborder="0"  scrolling="yes"></iframe>
            <script language="javascript" type="text/javascript">
                setupLoader();
            </script>
            <div id="divLoading" align="center" style="width:100pt;height:100pt;   display:none;"">
                <div style="position: fixed; top: 0px; bottom: 0px; left: 0px; right: 0px; overflow: hidden;padding: 0; margin: 0; background-color: #F0F0F0; filter: alpha(opacity=50);opacity: 0.5; z-index: 100000;">
                </div>
                <div style="position: fixed; top: 40%; left: 40%; z-index: 100001; background-color: #FFFFFF; border: 0px solid #000000;background-repeat: no-repeat; background-position: center; text-align: center;">
                    <table>
                        <tr>
                            <td>
                                <img src="Images/ajax-loader.gif" alt="" />
                            </td>
                            <td>
                                <asp:Label CssClass="desc_cell" BackColor="Transparent" ID="lblret" runat="server" Text="Loading. Please wait..."></asp:Label>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>
        </td>
    </tr>
</table>

setupLoader();
}
在生产环境中使用:

console.log(异常消息)

是的,Thanx vidhyadhar。。。。。完成了…朋友…但我想解决我的问题。。。。。。。。。。。。