js 弹出新页面避免被浏览器、ad拦截的一种新方法


Posted in Javascript onApril 30, 2014

以绑定click弹窗的方式,改为普通的链接,即 a[target=_blank],在点击打开新窗口之前,修改其href。

绑定mousedown,鼠标点击执行完成前修改href。

绑定focus,保证tab切换+enter时替换href。

<input type="search" id="keyword" value="" autocomplete="off" placeholder="请输入搜索关键字" /> 
<a href="###" id="submit" target="_blank" >搜索</a> 
<script type="text/javascript"> 
(function(document) { 
var submit = document.getElementById('submit'); 
var keyword = document.getElementById('keyword'); 
var url = 'http://www.baidu.com/baidu?wd='; 
submit.onfocus = submit.onmousedown = function() { 
var href = url + escape(keyword.value); 
if (href !== submit.href) { 
submit.href = url + escape(keyword.value) 
} 
} })(document); 
</script>

ps:还可以在 在html代码中 以onclick dom 0级方式绑定 、target方式提交表单等
Javascript 相关文章推荐
js 事件小结 表格区别
Aug 13 Javascript
在多个页面使用同一个HTML片段《续》
Mar 04 Javascript
jquery根据属性和index来查找属性值并操作
Jul 25 Javascript
JS实现的自定义右键菜单实例二则
Sep 01 Javascript
Js实现简单的小球运动特效
Feb 18 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
javascript构造函数以及原型对象的理解
Jan 13 Javascript
jquery中each循环的简单回滚操作
May 05 jQuery
jQuery返回定位插件详解
May 15 jQuery
在VUE中实现文件下载并判断状态的方法
Nov 08 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
Apr 30 #Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 #Javascript
js获取ajax返回值代码
Apr 30 #Javascript
jquery如何把数组变为字符串传到服务端并处理
Apr 30 #Javascript
js图片预加载示例
Apr 30 #Javascript
javascript闭包入门示例
Apr 30 #Javascript
三种动态加载js的jquery实例代码另附去除js方法
Apr 30 #Javascript
You might like
PHP 和 MySQL 基础教程(四)
2006/10/09 PHP
用php将任何格式视频转为flv的代码
2009/09/03 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
认识延迟时间为0的setTimeout
2008/05/16 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
Python入门学习指南分享
2018/04/11 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python 字符串常用方法汇总详解
2019/09/16 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
Python如何输出整数
2020/06/07 Python
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
运动会广播稿80字
2014/01/23 职场文书
婚前保证书
2014/04/29 职场文书
学习焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers