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 相关文章推荐
JavaScript 异步调用框架 (Part 3 - 代码实现)
Aug 04 Javascript
js 数值项目的格式化函数代码
May 14 Javascript
jQuery图片的展开和收缩实现代码
Apr 16 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
Nov 12 Javascript
js代码实现无缝滚动(文字和图片)
Aug 20 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
JS组件Bootstrap Table使用方法详解
Feb 02 Javascript
微信小程序 欢迎界面开发的实例详解
Nov 30 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 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框架排名
2013/07/04 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
超清晰的document对象详解
2007/02/27 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
Python如何对齐字符串
2020/07/30 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
自荐书范文范例
2014/02/13 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
市场调查策划方案
2014/06/10 职场文书
模具专业求职信
2014/06/26 职场文书
关于安全的广播稿
2014/10/23 职场文书
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL