google使用ublacklist失效

解决方案

首先怎么解决。将google浏览器的默认网址格式改为:

1
https://www.google.com/search?q=%s

然后应该就可以继续正常使用。

问题描述

ublacklist插件能够屏蔽一些令人厌恶的网站,比如csdn。但是之前配置使用的ublacklist突然失效,无法屏蔽结果,找了很久都没办法解决这个问题,后面改用了一个google搜索引擎模板:

1
https://www.google.com/search?q=%s                 +-site:csdn.net

这样对csdn进行屏蔽,后续能够正常使用,但是每次搜索的结果后面都会多一个-site:csdn.net,很不优雅,使用了一段时间之后发现修改了搜索引擎模板之后,好像ublacklist又可以使用了?

问题分析

在google->设置->搜索引擎里面查看默认的google搜索引擎的网址格式如下:

1
{google:baseURL}search?q=%s&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:language}{google:prefetchSource}{google:searchClient}{google:sourceId}{google:contextualSearchVersion}ie={inputEncoding}

其中包含了很多特殊字段,其中{google:searchFieldtrialParameter}是google实验使用的参数,google会随机挑选部分用户进行新版本的实验。实验版本返回的DOM与常规版本的不一样,这导致ublacklist无法正常使用。

怎么判断现在有没有参加实验呢?

正常的google的搜索结果是:

1
<div class="g"></div>

如果为下面两者之一就是新版的SERP DOM:

1
2
3
<div data-hveid="...">
<div class="MjjYud"></div>
</div>

ublacklist无法识别新版的SERP DOM导致失效。只需要修改默认的网址,就可以避免参与新版的实验,就可以恢复正常的使用,

下面这个也讨论了关于google新UI带来的问题:

https://github.com/iorate/ublacklist/issues/542?utm_source=chatgpt.com