写一个简单的浏览器脚本来屏蔽CSDN

在使用手机浏览器搜索时为了免于CSDN垃圾信息的影响,我们可以使用Bing(其他搜索引擎也有类似的功能,但是国内不借助其他方法的情况下体验感最好的也只有Bing了)的“-site:*.csdn.net”来屏蔽CSDN,但是每次输入搜索内容后还要加这么一个字符串真是太麻烦了,因此可以写一个浏览器脚本来完成这一操作。

在PC上可以直接使用油猴中其他大佬写的脚本,而我在手机上使用Via浏览器时不一定能用(可能可以,不过我还没试~)这些脚本,同时我需要的功能比较简单,故写一个Via浏览器的脚本。

其实主要就是一个立即执行函数,其中对于输入框注册了keydown的事件,当按下回车键时可以在输入框的文本后添加-site:*.csdn.net。需要注意的是需要使用preventDefault()方法来防止默认的表单提交动作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// ==UserScript==
// @name Bing CSDN Filter
// @namespace https://viayoo.com/
// @version 0.0
// @description 自动在Bing搜索框输入内容后添加-csdn,屏蔽CSDN内容
// @author kerolt
// @match https://*.bing.com/*
// @grant none
// ==/UserScript==

(function() {
'use strict';

// 获取搜索框中的textarea元素
let searchInput = document.querySelector('textarea[name="q"]');

if (searchInput) {
// 监听搜索框中的按键事件
searchInput.addEventListener('keydown', function(event) {
// 检查是否按下回车键
if (event.key === 'Enter') {
// 如果输入中没有-site:*.csdn.net,自动添加
if (!searchInput.value.includes('-site:*.csdn.net')) {
searchInput.value += ' -site:*.csdn.net';
}
// 提交表单,进行搜索
event.preventDefault(); // 防止默认的表单提交动作
let searchForm = searchInput.closest('form');
if (searchForm) {
searchForm.submit(); // 手动提交表单
}
}
});
}
})();