我在修改IE8 for XP中的位置哈希时遇到了麻烦。只需致电:
self.location.hash = "whatever"
需要大约800ms~1800ms
我不知道什么可以减慢它。我在其他一些网站上检查了相同的指令,但速度并不慢。
任何可以让它变得如此缓慢的线索?对不起,我不能给出一个在线示例。
编辑: 这是我在IE控制台中获得的内容,输入:
console.log( new Date().getTime() );
self.location.hash = "sfdsd";
console.log( new Date().getTime() );
输出:
JOURNAL : 1326468325447
JOURNAL : 1326468327390
undefined
如果我读得正确的话,将近2000毫秒进行单次分配:/。
EDIT2:因为它看起来不够清晰,所以预先编写了更多的代码:
var profileThat = function() {self.location.hash = "whatever"};
$('#keywatchHeader').click( profileThat );
只需点击两下分析器结果:
profileThat 2 3475,00 3475,00 hidden 4 50,07 50,07 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 608 eventHandle 8 3525,07 40,06 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 2 595 get 4 20,03 20,03 http://192.168.0.30/kw5/js/jquery/jquery-1.6.2.js 6 419 get 6 10,01 10,01 http://192.168.0.30/kw5/js/yui2/dom/dom.js 96
EDIT3:
出于好奇,我对树上的节点号进行了一些测试,结果令人惊讶。经过这样的电话:
document.getElementsByTagName('*').length; //3621
$('#keywatchPanels').children().remove();
document.getElementsByTagName('*').length; //332
之后,探查者每次通话都会提供 600ms 而不是 1700ms !但我很难用节点号来影响标签写作。
(edit4):我发现了这个相关的问题:Why is this piece of Javascript code so slow?(但这里的答案只是“删除它”)
答案 0 :(得分:16)
最后,我在回答相关问题的评论中找到了答案: Why is this piece of Javascript code so slow?
呃,刚在博客上找到了同样问题的人。显然地 如果您正在运行IE Developer Toolbar,那么这只会很慢。现在 我怎么样才能描述一下? -_-'
- Aistina 2009年5月7日9:22
为什么我不早点呢?