UserScript icon indicating copy to clipboard operation
UserScript copied to clipboard

[新标签页打开链接] 非 <a> 标签的链接无法新标签页打开

Open wusuoweiju1 opened this issue 3 years ago • 8 comments

此脚本我用来解决kiwi或者火狐这类浏览器没有返回不重载功能的。但是我发现如神马搜索的ai引擎搜索都无法打开新标签https://quark.sm.cn/s?q=%E4%B8%80%E4%B8%8B。还有同域名情况,比如baidu.com搜索出百家号baijiahao.baidu.com无法新标签打开。

wusuoweiju1 avatar Sep 27 '21 18:09 wusuoweiju1

[新标签页打开链接] 脚本有局限性,只能处理单纯依靠 <a> 标签打开链接的网页。

原理就是给每个 <a> 标签加上 target="_blank" 属性,因此如果没有 <a> 标签或被忽视就无效了。

对于依靠 JS 事件内部判断的网站就没办法了。 神马搜索就是这样的,虽然也有 <a> 标签,但实际上是被忽略的。 百度的桌面网页版自然正常,而百度的手机网页版更是连 <a> 标签都没有。。。

我可以给相应元素绑定点击事件来强制其新标签页打开(用 JS 方式去新标签页打开),但是我无法阻止网页自身的事件(网页依然会照常执行,也就是本页面跳转)。。。

XIU2 avatar Sep 28 '21 02:09 XIU2

好的,辛苦您了。如果不能解决的话就算了,如果有时间的话可以稍微研究一下,如果这个问题解决真的是太好了。再附上一个网站https://gs.ctrip.com/html5/you/sight/100064.html 在此谢过了

wusuoweiju1 avatar Sep 28 '21 05:09 wusuoweiju1

你这个网页也一样。 如果鼠标指上去时,鼠标没有变成手形,浏览器左下角也没有显示 URL,那就代表是 JS 事件方式打开链接的。

对于这类网站,即使找到了解决办法,也无法做成通用型(即只能一个个网站去手动适配,又麻烦又效率低)。

XIU2 avatar Sep 28 '21 05:09 XIU2

好的行,谢谢您了!

wusuoweiju1 avatar Sep 28 '21 07:09 wusuoweiju1

你这个网页也一样。 如果鼠标指上去的时候,鼠标没有变成手形,浏览器左下角也没有显示网址,那就代表JS事件方式打开链接的。

对于这类网站,即使找到了解决方法,也无法打造出通用型(即是一个网站去手动适配,又麻烦又效率低)。

https://developer.mozilla.org/zh-CN/docs/Web/API/WindowEventHandlers/onbeforeunload这个网页的教程能否提供帮助呢?

wusuoweiju1 avatar Sep 28 '21 07:09 wusuoweiju1

https://developer.mozilla.org/zh-CN/docs/Web/API/WindowEventHandlers/onbeforeunload

wusuoweiju1 avatar Sep 28 '21 07:09 wusuoweiju1

不理解你的意思,这个事件看起来没有什么关联呀?

XIU2 avatar Sep 28 '21 08:09 XIU2

不理解你的英文,这个事件看起来没有什么关联呀?

好吧…测试了3个还是没能成功,估计是无望了。不过谢谢大佬回答了。

wusuoweiju1 avatar Sep 28 '21 10:09 wusuoweiju1