<a id="alink" href="abc.aspx" style="visibility: hidden;">下一步</a>
$("#alink").click(); // 触发了a标签的点击事件,但是没有触发页面跳转
document.getElementById("alink").click(); //既触发了a标签的点击事件,又触发了页面跳转

把 “下一步” 改为 “<span id="spanId">下一步</span>” 即给A标签中的文字添加一个能被jQuery捕获的元素,然后$("#spanId").click();,才可以触发页面跳转。

原文:不被浏览器屏蔽拦截的打开窗口的方法

之所以会想要写这篇文章,是因为我在最近的项目中使用Js打开新的窗体时被拦截了,因此,让我产生了对浏览器拦截屏蔽新窗体的兴趣,想了解一下为什么会被拦截。

 说到在新的窗口打开新的网页,通常是使用超链接标签的target ,_blank实现。当点击了超链接时可以自动的打开新的窗口,但是实际上,需要在执行了某些操作之后通过JS的方式打开。
   而通过JS的方式打开方式比较常用的就是通过window.open 打开新的窗口。这里说明一下,在通常情况下,使用window.open的方法,是不会被浏览器的屏蔽拦截,只有在恶意弹窗的时候,才会被屏蔽。当用户进行点击触发打开的窗口,是能被浏览器接受的。网络上有很多文章说什么“强制弹窗”,“不会被拦截”,我看了一下,觉得该屏蔽的还是会屏蔽,我想定个时间,让它自动弹窗,还是不行。我分析一下他们的原理,一种是通过超链接,在js中click()触发,另一种是使用js通过form的submit()触发,但是这不能绕开浏览器的屏蔽。因为他们的原理是一样的,不是用户即时触发的。浏览器很容易就能发现和阻止。
   人们常说的会被浏览器拦截主要是因为不是由用户发生的操作打开的窗口,包括定时器,ajax异步执行之后等发生的打开窗口的操作。但是比不是所有的浏览器会拦截。经过本人对各大浏览器的测试,非用户触发操作弹窗, 遨游通过,ie通过 ,猎豹不通过 ,chrome不通过,360浏览器不通过,火狐不通过。一般正常的操作是不会被屏蔽的,但是恶意弹窗很容易被浏览器识别,如果想不经过用户触发,直接弹窗,只能期待用户是使用IE和遨游浏览器的。
现在总结一下,常见正常弹出窗口失效的原因:
1.使用window.open,但是定义窗口名,也就是在打开窗口传入name参数,因为window.open只能打开唯一的窗体名为name的窗体。所以有些人会以为被浏览器拦截屏蔽了。
2.使用异步的ajax,通过ajax向服务器请求,在请求完成后再打开窗口的操作,如果是使用异步的方式,将出现延时,这是浏览器就会以为不是用户触发的操作,这时只要设置同步的方式即可。笔者就是因为这个原因。
可能存在替代方案:
既然想到弹窗,固然是因为有这方面的需求,目前‘浏览器无法拦截的弹出窗口’是不可能的,能不能找到替代方案。这里提供两个方案:
1.如果是弹窗广告,一般的做法是在页面document绑定click事件或者的srcoll事件,因为一般打开网页都会点一下或者是滚一下鼠标。所以就很容易的弹窗了(这里以技术出发,笔者代表绝大部分用户不接受这种广告方式)。
2.如果是弹出通知信息,就更容易,不用这么鬼鬼祟祟了,直接弹出div的“窗口就行”。
如果有这方面的需求的,看到这篇文章应该会或多或少的有所收获,如果找不到解决方案,请给我留言,希望能够共同探讨。

jquery 触发a标签点击事件,弹出页面相关推荐

  1. jquery触发a标签点击事件

    我的解决方案 <a id="logoutClick" href="${contextPath}/logout" ><i class=" ...

  2. jQuery触发 a 标签点击事件

    <a id="targetEl" href="" target="_blank" >走你!</a> 平时使用 jQu ...

  3. jquery trigger触发a标签点击事件问题

    最近在一个项目中使用trigger触发a标签的click事件,如:$('a').trigger('click'),但是一直未成功..触发不了. 经过百度查找才知道: $('a').trigger('c ...

  4. JQ trigger触发a标签点击事件

    trigger() 方法触发被选元素的指定事件类型. $("a").trigger('click') ; 这样直接触发a标签上的点击事件无法生效 需要绑定给a标签的子集 $(&qu ...

  5. jQuery触发a标签的click事件

    <!DOCTYPE html> <html> <head><meta charset="utf-8" /><meta http ...

  6. js jquery 禁用a标签 点击事件

    jquery禁用a标签方法 $(document).ready(function () { $("a").each(function () { var textValue = $( ...

  7. jQuery触发a标签的点击事件无效

    1 <a id="workFrame" href="pages/work.html" target="FrameBox">首页& ...

  8. jquery click()方法模拟点击事件对a标签不生效的解决办法

    jquery click()方法模拟点击事件对a标签不生效的解决办法 参考文章: (1)jquery click()方法模拟点击事件对a标签不生效的解决办法 (2)https://www.cnblog ...

  9. jquery 动态按钮绑定点击事件

    一.Jquery实现点击事件的四种写法 来自:https://blog.csdn.net/liutianjie/article/details/85112787 1. $(".tab&quo ...

最新文章

  1. 钢铁平面焊接缺陷检测,有方案、有代码
  2. Science | 机器学习揭示了构建人造蛋白质的秘诀
  3. 新手探索NLP(二)
  4. 处理字符串_4_计算某个字符出现的次数
  5. 工作总结1:代码中漫花谷出现很多NBSP
  6. 放苹果(信息学奥赛一本通-T1192)
  7. 当时间管理碰上大数据,从此,悠悠时光也终不再那么漫长
  8. 《ArcGIS Runtime SDK for .NET开发笔记》--三维功能
  9. c++里解决“控制传输跳过的实例化”的方法
  10. GSON的用法(处理对象和JSON的相互转化)
  11. Android聊天软件开发(基于网易云IM即时通讯)——添加好友(三)
  12. View绘制流程之LayoutInflater理解
  13. 简单制作一个百度注册页面
  14. 11月,匆匆而过,留下了遗憾(亚洲赛广州站)
  15. Docker安装配置Redis最全教程
  16. MySQL RR隔离级别解决幻读问题?
  17. iOS 音频播放,录音,视频播放,拍照,视频录制
  18. Firefox和IE浏览器清除缓存方法
  19. mysql查询练习题
  20. Atomikos 中文说明文档(周枫翻译)

热门文章

  1. 二叉树的前、中、后序遍历的代码实现(递归方式)
  2. 机顶盒(STB)相关知识
  3. 来自xici网友的Ubuntu和windows xp的Super PI性能测试
  4. 关于微信电子健康卡回调地址错误问题
  5. [Android开发]Android更新UI的五种方式
  6. socket是并发安全的吗
  7. 基于百度制作离线地图及优化
  8. 电子学会2021年3月青少年软件编程(图形化)等级考试试卷(四级)答案解析
  9. VBA,userform的控件 controls,如何禁用一些image/commandbutton 处理例子
  10. 智能汽车的基础软件「竞速赛」