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

  以绑定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方式提交表单等