很多大型网站的JS脚本都是超级多的,而且都是动态绑定的
如果知道在哪个JS脚本里进行绑定的,那要DEBUG还是挺简单的
但...如下代码,如果这个JS脚本是在30个脚本文件里的某一个,要调试实在太难了...至少要找到它到底在哪个JS脚本文件里进行绑定的都难
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var a = document.body.getElementsByTagName("*")[0];
try {
a.attachEvent(
"onclick",
function() {
alert("Start download...");
}
);
} catch(er) {
a.addEventListener(
"click",
function() {
alert("Start download...");
},
false
);
}
}
</script>
</head>
<body>
<a href="javascript:void(0);">Download</a>
</body>
</html>
如果可以在a元素上添加断点,那调试就简单多了,也就是,我不需要知道a元素到底动态绑定了哪些函数,只要我把断点设置在a元素上,当我触发它时,如果有相应的事件绑定,就跳到函数执行处。
有这样的工具吗??
如果知道在哪个JS脚本里进行绑定的,那要DEBUG还是挺简单的
但...如下代码,如果这个JS脚本是在30个脚本文件里的某一个,要调试实在太难了...至少要找到它到底在哪个JS脚本文件里进行绑定的都难
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var a = document.body.getElementsByTagName("*")[0];
try {
a.attachEvent(
"onclick",
function() {
alert("Start download...");
}
);
} catch(er) {
a.addEventListener(
"click",
function() {
alert("Start download...");
},
false
);
}
}
</script>
</head>
<body>
<a href="javascript:void(0);">Download</a>
</body>
</html>
如果可以在a元素上添加断点,那调试就简单多了,也就是,我不需要知道a元素到底动态绑定了哪些函数,只要我把断点设置在a元素上,当我触发它时,如果有相应的事件绑定,就跳到函数执行处。
有这样的工具吗??
顶多能在firebug下看到a标签上的事件是啥 函数名是啥 监听一下是可以的
这里边的脚本选项里好像可以设断点的吧。只要断点设在加载项,然后f11进入函数的话,应该能调试出来的吧~~?
这里边的脚本选项里好像可以设断点的吧。只要断点设在加载项,然后f11进入函数的话,应该能调试出来的吧~~?
像这样的...如果在多个文件里的话,而且DOM节点超级多的情况下...搜索起来简直要死人啦!!!!!
要不然就只能搜索attachEvent和addEventListener...(如果有封装的绑定事件,就换成该函数名)然后再一个一个找啰...搜索起来真的是会死人啊!!!!!!!BTW,为什么浏览器厂商和DEBUG工具开发者都没考虑加上我主楼上说的的功能呢???是安全顾虑??还是实现太难了??
<scirpt type="text/javascript">
window.onload = function() {
var lis = document.getElementsByTagName("DIV")[0].getElementsByTagName("LI");
lis[0].attachEvent("click", function() {
alert("download...");
});
}
</script>
<div>
<ul>
<li><a href="javascript:void(0);">DOWNLOAD</a></li>
<li><a href="javascript:void(0);">FIRST</a></li>
<li><a href="javascript:void(0);">PRE</a></li>
<li><a href="javascript:void(0);">NEXT</a></li>
<li><a href="javascript:void(0);">LAST</a></li>
</ul>
</div>
地址: https://getfirebug.com/releases/eventbug/1.5/eventbug-0.1b10.xpi