前言:
如今兄弟们对“超链接调用js”大概比较珍视,咱们都想要剖析一些“超链接调用js”的相关文章。那么小编同时在网上网罗了一些关于“超链接调用js””的相关知识,希望各位老铁们能喜欢,看官们快快来了解一下吧!分享一个拦截超链接跳转默认行为的BUG,此BUG涉及到safari、手机百度、夸克等多个浏览器
前提:我在网站上,写了一个跳转页面用的转场效果,大概类似于这样:
为了在用户跳出页面的时候(比如点击超链接),能够播放出场动画,我对需要播放出场动画的超链接前加了这样一个事件:
<a onclick="if (this.href== 'javascript:;') {return false;}else {linkStart('out');setTimeout(()=> {window.open(this.href)},1500);return false;}"href="//xxx"></a>
这样可以拦截超链接跳转的默认行为,在播放1.5s动画后,再调用window.open跳转到链接。
但是IOS系统下的浏览器、夸克、手机百度等有这么一个问题:
window.open中的this.href,会被后面的return false拦截,导致浏览器只能播放转场动画,而不会跳转。
解决方法:把超链接a标签换成button,把链接存到一个对象里,把整个动画播放+跳转逻辑封装为一个function,onclick事件(我用的vue3,所以直接@click了)后调用跳转用的函数,跳转到想要跳转的网页
标签: #超链接调用js