Windows NT的 Internet Explorer显示没有节点?

我勉强把我理解说一下吧,可能有误,抛砖引玉了

首先我的chrome下面是先alert两下,然后出现文本节点的。版本号55.0.2883.87

这个说明是第二个alert的时候,文本节点还没有出现。

然后打个断点试试,结果是在alert被暂停的时候的,文本节点已经显示了。

可能是因为这个文本节点还没有来得及挂在到DOM树上,下面那个script中的程序就执行了。然后alert中断一切操作。那么这个间隔可能是多少呐?

用setTimeout试试,发现在12ms和15ms之间,顺序就会发生变化。

所以暂时我的结论这个顺序跟html标签添加到dom树的耗费时间有关。同样的结果在我的最新的chromium上。应该不是我个人电脑的问题。这点还是很疑惑的,怎么都不太可能因为挂载DOM树花掉10ms啊。

接下来就是我的祖传IE(IE11)了

继续尝试打断点,发现了一个更神奇的事情,就是这个节点在已经在堆栈里面了,但是网页上没有,所以现在的结论是可能只是跟样式显示的顺序有关系。

睡觉睡觉。因为太菜,所以匿名,题主你就当我给你完善了提问吧

在IE下面发现其实元素是已经在DOM里面了,那现在就可以怀疑是不是图层渲染的原因导致的

js在浏览器中是单线程的,但是浏览器是多线程的,会不会是渲染进程被alert打断了。

如果还是图层更新没有alert更新的快的话,那么在第一个script标签前放一个文本节点,依然是先alert

在两次alert确定之间,第一个元素显示了

这里可以看到在两次alert的中间,图层更新执行了,图层更新之后,界面上已经显示第一个文本节点了,然后evaluate script和parseHTML同时执行。依然是alert抢先一步。

下面看看在IE下面的表现

样式计算和布局应该加起来不到1ms 画图花了1.5ms,所以基本上都是按顺序执行的。

我要回帖

更多关于 找不到internet选项 的文章

 

随机推荐