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 相关文章推荐
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
javascript数组的使用
Mar 28 Javascript
详解JavaScript ES6中的模板字符串
Jul 28 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
js 取消页面可以选中文字的功能方法
Jan 02 Javascript
详解Vue用cmd创建项目
Feb 12 Javascript
[jQuery] 事件和动画详解
Mar 05 jQuery
Vue 中可以定义组件模版的几种方式
Aug 06 Javascript
javascript递归函数定义和用法示例分析
Jul 22 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
深入php数据采集的详解
2013/06/02 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
js function定义函数的几种不错方法
2014/02/27 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
详解Document.Cookie
2015/12/25 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
解决vue刷新页面以后丢失store的数据问题
2020/08/11 Javascript
python中pass语句用法实例分析
2015/04/30 Python
发布你的Python模块详解
2016/09/15 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python使用Matplotlib画条形图
2020/03/25 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
python实现扫雷小游戏
2020/04/24 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
2020/04/25 Python
Python进行特征提取的示例代码
2020/10/15 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
移动通信行业实习自我鉴定
2013/09/28 职场文书
Nginx配置使用详解
2022/07/07 Servers