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