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

前端技术 2023/09/01 JavaScript
以绑定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方式提交表单等

本文地址:https://www.stayed.cn/item/2127

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。