-
Notifications
You must be signed in to change notification settings - Fork 0
/
Reddit on SearXNG Search for PC.user.js
51 lines (43 loc) · 1.8 KB
/
Reddit on SearXNG Search for PC.user.js
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// ==UserScript==
// @name Reddit on SearXNG Search
// @namespace https://github.com/Kdroidwin/Reddit-on-SearXNG-Search
// @version 0.1
// @description Add site:reddit.com to SearXNG search queries on button click
// @author Kdroidwin
// @match https://priv.au/*
// @match https://search.inetol.net/*
// @match https://searx.tiekoetter.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// SearXNG の検索フォームと検索入力フィールドのセレクタを取得
const searchForm = document.querySelector('form[action="/search"]');
const searchInput = document.querySelector('input[name="q"]');
// Reddit 検索用のボタンを作成
const redditButton = document.createElement('button');
redditButton.textContent = 'Search Reddit';
redditButton.type = 'button';
redditButton.style.marginLeft = '10px';
// ボタンのクリックイベントを追加
redditButton.addEventListener('click', function() {
let query = searchInput.value;
// クエリに site:reddit.com を追加
if (!query.includes('site:reddit.com')) {
searchInput.value = query + ' site:reddit.com';
}
// フォームを送信
searchForm.submit();
});
// セーフサーチの要素を探す
const safeSearchElement = document.querySelector('select[name="safesearch"]');
// セーフサーチの右側にボタンを追加
if (safeSearchElement) {
safeSearchElement.parentNode.insertBefore(redditButton, safeSearchElement.nextSibling);
} else {
// セーフサーチが見つからなかった場合は、代わりに検索フォームに追加
if (searchForm) {
searchForm.appendChild(redditButton);
}
}
})();