Greasemonkey一个Firefox的扩展,可以执行javascript脚本,为页面添加很多实用功能。

最近在学JavaScript,顺手写了一个脚本,解决了一个问题。

大家都知道我们学校的教务处的网站是做的不咋样。起码肯定不复合WEB标准,用firefox是无法登录的。

其实呢,网页的设计者还是考虑了浏览器兼容性的,不过犯了一个小错误。大家看这个页面的源码,它里面的check()函数中犯了一个小错误。

function check() {  	if ( document.main.xh.value.length == 0 ) 	{ 	   window.alert( "请输入用户!" ) 	  document.main.xh.focus() 	 }  	else if (document.main .user_pwd .value.length ==0 ) 	 {          window.alert("请输入密码")           document.main .user_pwd .focus()       }            else 	{   	   self.main.submit();      }    }

self.main.submit()是不正确的,应该self指的是window而非document。我就不明白了上面两处都用了document.main.XXXX,为什么这里就要用错误的self.main.submit()呢?

所以我就写了个小脚本(下载)修正了这个错误。

str=’if ( document.main.xh.value.length == 0 )’;
str+=’{window.alert( “Please Input UserName!” );document.main.xh.focus();}’;
str+=’else if (document.main .user_pwd .value.length ==0 )’
str+=’{window.alert(“Please Input Password!”);document.main .user_pwd .focus();}’;
str+=’else{document.main.submit();}’;
aHref=document.getElementsByTagName(“a”);
for (i=aHref.length-1;i>=0;i++)
{
if (aHref[i].href=”javascript:check()” mce_href=”javascript:check()”)
break;
}if (i>=0)
{ aHref[i].href=”javascript:” mce_href=”javascript:”+str;
}

我的脚本其实不好,应该还有更好的方法,不过还没学会Laughing