liuzhengdao

最近在做模拟自动登录的案例,需要在页面中模拟鼠标单击的效果,因为通过document.forms[0].submit的方式可以提交表单,但是对于一些表单是通过一个链接或是Ajax方法以单击效果提交的表单,就束手无策。

上网查了查,有以下代码可实现,

evt = document.createEvent(\'MouseEvents\');
evt.initEvent(\'click\', false, false);
document.getElementsByName(\'loginForm:submitBtn\')[0].dispatchEvent(evt);
经测试,上述代码在Firefox中起作用,但是在IE中提示错误,方法不支持,于是继续查找

evt = document.createEventObject();
evt.button = 1;
document.getElementsByName(\'loginForm:submitBtn\')[0].fireEvent(\'onclick\', evt);
document.getElementsByName(\'loginForm:submitBtn\')[0].fireEvent(\'onclick\', evt);//我所访问的页面是JSF的,需要单击两次
上述代码可以在IE中执行

那么如何判断是IE还是Firefox呢?

if(document.all){IE}else{Firefox}
 

分类:

技术点:

相关文章: