在大多数浏览器中,jQuery的html()
似乎只会在处理HTML数据中的任何JavaScript(以及更新后的相关样式)后替换内容,因此它可以顺利替换。在Firefox中,HTML会在短时间内显示,然后处理JavaScript。一个示例是在浏览器控制台中运行以下内容,其中包含一长串HTML数据,其中包含大量更改标记的脚本(例如,jQuery DataTable初始化):
$("#some-div").html(data);
console.log("Done");
我也尝试了以下相同的结果,其中true
允许脚本运行。
$("#some-div").append($.parseHTML(data, document, true));
console.log("Done");
只有在未经处理的HTML闪烁之后,console.log()
行才会播放,这意味着jQuery' html()
和其他方法等待脚本处理,但由于某种原因,Firefox会显示内容早。为什么?我怎么能得到类似的#34;处理"行为跨浏览器?