JavaScript自动点击链接 防止绕过浏览器访问的方法


Posted in Javascript onJanuary 19, 2017

做支付宝帐号登录,需要做一个效果,就是打开链接页面的时候,不需要点击链接,直接跳到支付宝登录页面。也就是说,需要做一个自动点击链接的效果。

基本都是用这个:

<body onLoad="autoclick('auto')">

<a id='auto' href=".$url."><img border='0' src='images/alipaylog.gif' /></a>

</body>

<script type="text/javascript">


 function autoclick(){

 lnk = document.getElementById("auto");

 lnk.click();

  }

</script>

这个就IE下可以用,其它浏览器都不可以。还转得铺天盖地呢,浪费大家搜索的时间。

下面这个还比较靠谱,先看看吧:

<body onLoad="autoclick('auto')">

<a id='auto' href=".$url."><img border='0' src='images/alipaylog.gif' /></a>

</body>

<script type="text/javascript">  1: 

function autoclick(name)

{  

  if(document.all)  

  {  

    //alert(1);

     document.getElementById(name).click();  

  }  

   else  

  {  

    var evt = document.createEvent("MouseEvents");  

      evt.initEvent("click", true, true);  

    //alert(2);

    document.getElementById(name).dispatchEvent(evt);  

   }  

} 

</script>

这个在Chrome和IE下都能正常,但是在Firefox下就不能了。但总比第一个要优秀。

dispatchEvent在Firefox下是有问题的,下面是解决方案:

document.getElementById("me").onclick = function() {

  var card = document.getElementById("card");

   if(document.createEvent){

    var ev = document.createEvent('HTMLEvents');

    ev.initEvent('click', false, true);

    card.dispatchEvent(ev);

   }

   else 

     card.click();
 }

其中 card元素是绑有事件的元素。me元素是想通过点击 me元素 来调用 card的click事件的元素。。。。

问题的重点在于 firefox 的js引擎需要先创建一个事件:var ev = document.createEvent('HTMLEvents');

然后将事件指定为 click事件:ev.initEvent('click', false, true);

最后将事件付给card元素:card.dispatchEvent(ev);

card = document.getElementById('id');

var ev = document.createEvent('HTMLEvents');

ev.initEvent('click', false, true);

card.dispatchEvent(ev);

由此可见,dispatchEvent 是事件委托中的最后一步,将委托事件与调用的元素链接起来,达到调用这个元素的事件的效果。

最后推荐用 input 来实现,下面是最终解决方案:

<body onLoad="autoclick('auto2')">

 <input id="auto2" type="hidden" onClick="javascript:location.href = '<?=$url?>' " />

</body>

<script type="text/javascript">  1: 

function autoclick(name)

 {  

  if(document.all)  

  {  

    //alert(1);

     document.getElementById(name).click();  

  }  

   else  

  {  

   var evt = document.createEvent("MouseEvents");  

     evt.initEvent("click", true, true);  

    //alert(2);

    document.getElementById(name).dispatchEvent(evt);  

   }  
} 
</script>

以上这篇JavaScript自动点击链接 防止绕过浏览器访问的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 两个窗体之间传值实现代码
Sep 25 Javascript
javascript实现获取浏览器版本、浏览器类型
Dec 02 Javascript
JSON+Jquery省市区三级联动
Jan 13 Javascript
AngularJS中比较两个数组是否相同
Aug 24 Javascript
基于JavaScript实现购物网站商品放大镜效果
Sep 06 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
jQuery中on方法使用注意事项详解
Feb 15 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
Mar 21 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
微信小程序实现日历效果
Dec 28 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 05 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 #Javascript
创建一般js对象的几种方式
Jan 19 #Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 #Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 #Javascript
快速掌握jQuery插件开发
Jan 19 #Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 #Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
Jan 19 #Javascript
You might like
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
php 时间time与日期date之间的使用详解及区别
2016/11/07 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
javascript实现日历效果
2019/06/17 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
车工岗位职责
2013/11/26 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
党支部承诺书
2015/01/20 职场文书
欠条样本
2015/07/03 职场文书
教师病假条范文
2015/08/17 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
python执行js代码的方法
2021/05/13 Python
python实现剪贴板的操作
2021/07/01 Python
vue项目支付功能代码详解
2022/02/18 Vue.js