写一个简单的浏览器脚本来屏蔽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(); // 手动提交表单
                }
            }
        });
    }
})();
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计