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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
使用JavaScript switch case 另类写法
Mar 14 Javascript
js猜数字小游戏的简单实现代码
Jul 02 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 Javascript
详解JS中的快速排序与冒泡
Jan 10 Javascript
JS实现带动画的回到顶部效果
Dec 28 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jdk1.8+vue elementui实现多级菜单功能
Sep 24 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
php读取msn上的用户信息类
2008/12/05 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
PHP强制转化的形式整理
2020/05/22 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
美国在线家装零售商:Build.com
2016/09/02 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
广州地球村科技数据库题目
2016/04/25 面试题
水电施工员岗位职责
2015/04/11 职场文书
学校通报表扬范文
2015/05/04 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
毕业欢送会致辞
2015/07/29 职场文书
导游词之日本富士山
2020/01/06 职场文书
python实现图片批量压缩
2021/04/24 Python
如何用PHP websocket实现网页实时聊天
2021/05/26 PHP
分享Python异步爬取知乎热榜
2022/04/12 Python