只有在Firefox中处理JavaScript之前,才会显示jQuery的.html()

时间:2017-02-23 04:30:19

标签: jquery firefox dom innerhtml

在大多数浏览器中,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;处理"行为跨浏览器?

0 个答案:

没有答案