ie下的脚本错误总是很神秘的样子,告诉你哪个行,确不告诉你哪个文件,Visual Studio带了一个调试工具倒是可以,long long ago之前用过一次,老崩溃的样子~
如果你又遇到了猜不透的bug,可以尝试下面的shell~
//现去firefox里收集一份js列表 var alljs = []; XN.array.each(document.getElementsByTagName('script'),function(i,v) { if (v.src) { alljs.push(v.src); } }); console.log(alljs.join('\n'));
把列表保存到一个文件,下面跑段shell,把所有js的报错位置的代码打印出来
// 10 100是ie里提示的错误位置 sh ~/bin/get_line.sh /tmp/jslist 10 100
附:
#!/bin/sh LIST="$1" ROW="$2" COL="$3" if [ ! -n "$ROW" ];then exit fi echo "行:${ROW}" echo "列:${COL}" get_row() { cat /tmp/js_debug_tmp | sed -n "${ROW}p" } cat "$LIST" | while read line do wget -q "$line" -O /tmp/js_debug_tmp echo "文件:${line}" row="`get_row`" if [ -n "${COL}" ]; then row="`echo \"${row}\" | cut -c ${COL}- `" fi echo "$row" done rm /tmp/js_debug_tmp
