Pet*_* II 7 javascript firebug event-listener
上周,我们在过去一周左右的修补和测试后,将Omniture的分析代码发布到大量网站上.
在几乎所有的网站模板上,它都运行得很好.在一些零星的,不可预见的情况,有一个沉重的,浏览器崩溃的经验是可以转走一些用户.
我们无法看到此时的崩溃模板之间的关系,同时也有很多方法来解决,这是我们confuddling有关事件侦听器的一个.
单击这些模板上的任何锚点时,站点会崩溃.没有任何内联JS,虽然我们通过HTML的属性抨击我们的方式,但我们找不到可能导致此问题的可辨别的循环或问题.(当我们进行故障排除时,您可以在此处亲自体验[ 警告!点击页面中的任何链接都会导致浏览器崩溃!])
如何确定对象是否有侦听器?你如何确定触发事件时会触发什么?
仅供参考,我想设置断点,但 在Omnitures惨淡混淆代码和重复浏览器崩溃之间,我想更深入地研究如何处理这个问题.
我用 firebug 在该页面的链接上做了一个“检查元素”,在 DOM 选项卡中它说有一个 onclick 函数(匿名),还有一些名为“s_onclick_0”的其他函数。
我哄萤火虫放了一块手表,就像
alert(document.links[0].onclick)
Run Code Online (Sandbox Code Playgroud)
提醒我omnature(我猜)附加到链接的onclick函数:
function anonymous(e) {
var s = s_c_il[0], b = s.eh(this, "onclick");
s.lnk = s.co(this);
s.t();
s.lnk = 0;
if (b) {
return this[b](e);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
也许以同样的方式,你可以看到在所有这些混淆之后它真正运行的是什么。