F9y4ng / GreasyFork-Scripts

The open source code of this project is used for userscripts (油猴脚本) for desktop browsers, including Font Rendering (Customized) (字体渲染(自用脚本)- Font Rendering.user.js), and Search Engine Assistant (优雅的搜索引擎助手 - Google & Baidu Switcher.user.js), etc.
https://f9y4ng.github.io/GreasyFork-Scripts/
GNU General Public License v3.0
919 stars 45 forks source link

[发现错误] Bing搜索结果重定向出错 #352

Closed B-22 closed 1 month ago

B-22 commented 1 month ago

1. 准备工作

2. 错误描述

在 Bing 中搜索任意关键词时,搜索结果部分超链接重定向出现错误,变为 https://www.bing.com/undefined。 超链接上方的地址重定向正常。 这主要出现在第一个搜索结果,但其他位置搜索结果也出现过。(第一页中) 出现概率不稳定,可能是每星期有一天,出现后复现概率较高,但无法稳定复现。 关键词为有权重优化较容易出现,重定向出现错误的网站国内外均有。

3. 错误复现步骤

  1. 在 Bing 中搜索任意关键词
  2. 点击搜索结果中的超链接
  3. 发现超链接重定向出现错误

4. 屏幕截图

tmp868E ff608670d93faba8ab0d1f7b38d4ca26 6d6afbacd7ad866fc9540818399a806e

5. 预期结果

重定向地址正常

6. 客户端信息

7. 脚本运行环境排查

8. 附加信息

在 Chrome 中疑似正常。

F9y4ng commented 1 month ago

在我本地无法复现出这个问题。

你可以提供触发问题时你的本地环境么?比如代理所在国家、搜索关键词、你的Bing账户是否有其他的搜索设置等等。

有一种可能性(我遇到过,但已经做过处理):是在获取实际URL时由于网络问题造成连接超时会出现无法获取到地址的情况,但这个问题已经处理过了,应该不会返回undefined值。

B-22 commented 1 month ago

使用InPrivate,未登陆,无代理

bandicam 2024-06-25 17-10-54-336 确实很难复现,第一次点击标题,进入https://www.bing.com/undefined,第二点击上方黑色地址,重定向正常,网址正常

B-22 commented 1 month ago

关键词:这确实是一个谷歌,重定向刷新后恢复正常,关闭代理后地区中国,语言中国 在正常窗口也能触发,用InPrivate是为了排除账号和其他干扰

F9y4ng commented 1 month ago

隐私模式下依然无法复现你遇到的问题。

screenshot_2024-06-25_17-34-35

你可以访问以下链接 https://www.bing.com/search?q=这确实是一个谷歌&whoami=F9y4ng,按F12打开Edge的控制台,看看是否有报错信息,并找到其中链接为 https://www.bing.com/undefined 的节点。

F9y4ng commented 1 month ago

正常情况下,cn.bing.com的国内版搜索结果链接是没有重定向的,只有全球版www.bing.com有重定向,或使用Edge或FF访问cn.bing.com的国际版有重定向。

在隐私模式下,www.bing.com的搜索结果链接也是正常的,如图: screenshot_2024-06-25_17-47-35

你更换一个高速代理再试试看?更新Tampermonkey到最新版本v5.2.0 或 v5.3.6202 BETA试试。

BTW. 另外,按钮的自适应夜间模式的样式需要点击右上角三横线,将外观设置为“系统默认值”时才会自动生效。

F9y4ng commented 1 month ago

这个问题我会在下个月更新做出修正,针对www.bing.com的重定向链接因history.replaceState造成获取真实URL为undefined的问题。

F9y4ng commented 1 month ago

请更新至v2024.07.06.1.

cjahv commented 1 month ago

我使用的是2024.07.09.1在bing中发现还有该问题

重现步骤:

  1. 使用国际bing搜索关键字
  2. 点搜索后面的“搜索优化”
  3. 这时候出现的搜索结果还有这个问题

提供一下我当时的链接 https://www.bing.com/search?q=CursorUlViewService%E5%8D%A1&qs=n&form=QBRE&sp=-1&ghc=1&lq=0&pq=cursorulviewservice%E5%8D%A1&sc=11-20&sk=&cvid=9D702569280842F79527E8A1AD38CC41&ghsh=0&ghacc=0&ghpl=

https://www.bing.com/search?q=CursorUlViewService%E5%8D%A1&shm=cr&form=DEEPSH&shmgid=A68DF4D423B2454F9DA41B08AB90EEBD&shajax=1

F9y4ng commented 1 month ago

临时解决

注意:在TM,VM中直接修改代码会造成自动更新失效,下次更新需要手动点击更新按钮恢复。

你尝试找到以下代码位置:

https://github.com/F9y4ng/GreasyFork-Scripts/blob/6c99f9b8513c6f80dd302e75dd5701a19e9305bc/Google%20%26%20Baidu%20Switcher.user.js#L2097

将其修改为

   const currentUrl = top.location.href.replace(/&shajax=\d/, "");

你测试一下,如果没有问题,下个更新中我会将这个修正加入。