2017-07-28 172 views
0

此代码适用于Firefox,但不适用于Chrome。代码适用于Firefox,但不适用于Chrome

我使用的是Chrome浏览器,因此​​工作正常。

$(function(){ 
    $("#header").load("header.html"); 
}); 


$(document).ready(function(){ 
    $('#notif').text("5"); 
} 

当我使用chrome进行调试时,代码执行正常,但没有在<span id="notif"></span>中插入任何内容。

在我的header.html中的<span id="notif"></span>是用JS动态加载的。

同样,它在Firefox中可以正常工作,但在Chrome中无法正常工作。

+1

你能发布一个链接到你的网页吗? –

+1

jquery的加载方法是异步的。所以我认为文档准备就绪时加载没有完成。 – Bee157

+0

在页面加载时是否包含'list_notif',或者页面加载之后是否包含XHR(AJAX)?如果通过XHR,有没有网络错误? –

回答

2

加载是异步的,所以文档将在加载结束之前准备好(并已触发)。 $('#notif')在文档准备就绪时不存在,因为它尚未加载。

$(function(){ 
    $("#header").load("header.html",function(){ 
    $('#notif').text('5'); 
    }); 
}); 

不是第二个参数,匿名函数将在成功完成加载后启动。

firefox和chrome的区别可能与下载速度有关,但我不是100%确定的。需要更多的测试。

有时(特别是IE)通过断点调试代码,可能会导致document.ready触发器有足够的延迟来完成加载。所以没有发现“故障”。

相关问题