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 相关文章推荐
执行iframe中的javascript方法
Oct 07 Javascript
javascript showModalDialog 内跳转页面的问题
Nov 25 Javascript
jquery获取div宽度的实现思路与代码
Jan 13 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
js文件缓存之版本管理详解
Jul 05 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
详解Angular6 热加载配置方案
Aug 18 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
JavaScript中的类型检查
Feb 03 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
基于mysql的论坛(3)
2006/10/09 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP如何抛出异常处理错误
2011/03/02 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
基于php实现的验证码小程序
2016/12/13 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
js单例模式详解实例
2013/11/21 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
javascript异步处理与Jquery deferred对象用法总结
2019/06/04 jQuery
js canvas实现五子棋小游戏
2021/01/22 Javascript
python的变量与赋值详细分析
2017/11/08 Python
python求质数的3种方法
2018/09/28 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
Python3 读取Word文件方式
2020/02/13 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
Python设计密码强度校验程序
2020/07/30 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
什么是跨站脚本攻击
2014/12/11 面试题
创伤外科专业推荐信范文
2013/11/19 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
安全检查管理制度
2014/02/02 职场文书
签约仪式主持词
2014/03/19 职场文书
初中学校军训方案
2014/05/09 职场文书
环保倡议书300字
2014/05/15 职场文书
工作年限证明范本
2015/06/15 职场文书
企业文化学习心得体会
2016/01/21 职场文书