🏠 Home 

ErogameScape 検索ボタン追加

ゲームタイトルをコピーし、Searx.beで攻略検索ボタンを追加


Install this script?
// ==UserScript==
// @name         ErogameScape 検索ボタン追加
// @namespace    https://kdroidwin.hatenablog.com
// @version      2.1
// @description  ゲームタイトルをコピーし、Searx.beで攻略検索ボタンを追加
// @match        https://erogamescape.dyndns.org/*
// @grant        none
// @license GPL-3.0 license
// @author       Kdroidwin
// ==/UserScript==
(function() {
'use strict';
function addSearchButtons() {
let table = document.getElementById('basic_information_table');
if (!table) return;
let titleElement = document.querySelector('span.bold');
if (!titleElement) return;
let title = titleElement.textContent.trim(); // ゲームタイトルを取得
let searchUrls = [
{ url: `https://searx.be/search?q=${encodeURIComponent(title)}+攻略`, label: '攻略' },
{ url: `https://searx.be/search?q=${encodeURIComponent(title)}+おすすめ攻略順`, label: '攻略順' },
{ url: `https://searx.be/search?q=${encodeURIComponent(title)}+聖地`, label: '聖地' },
{ url: `https://vndb.org/v?sq=${encodeURIComponent(title)}`, label: 'vndb' }
];
function createRow(title, links) {
let newRow = document.createElement('tr');
let headerCell = document.createElement('th');
headerCell.textContent = title;
headerCell.style.whiteSpace = 'nowrap';
newRow.appendChild(headerCell);
let dataCell = document.createElement('td');
links.forEach(({ url, label }) => {
let button = document.createElement('a');
button.href = url;
button.target = '_blank';
button.textContent = label;
button.style.marginRight = '5px';
button.style.padding = '3px 5px';
button.style.background = '#007bff';
button.style.color = '#fff';
button.style.borderRadius = '3px';
button.style.textDecoration = 'none';
button.style.fontSize = '10px';
dataCell.appendChild(button);
});
newRow.appendChild(dataCell);
table.querySelector('tbody').appendChild(newRow);
}
createRow('検索', searchUrls);
}
function fillSearchBoxAndSubmit() {
let inputBox = document.getElementById('word');
if (!inputBox) return;
let title = document.querySelector('span.bold') ? document.querySelector('span.bold').textContent.trim() : '';
if (title) {
inputBox.value = title; // ゲームタイトルを入力
setTimeout(() => {
let searchButton = document.querySelector('button[onclick="search()"]');
if (searchButton) {
searchButton.click(); // 自動で検索ボタンをクリック
}
}, 500);
}
}
function autoAcceptPopup() {
let observer = new MutationObserver(() => {
let alertButton = document.querySelector('button[onclick="ok()"]');
if (alertButton) {
alertButton.click(); // ポップアップのOKを自動クリック
observer.disconnect();
}
});
observer.observe(document.body, { childList: true, subtree: true });
}
function autoConfirmDialog() {
window.confirm = () => true; // 「OK」を自動選択
window.onbeforeunload = null; // 離脱確認を無効化
}
if (window.location.href.includes('usersql_exec.php?sql_id=1734')) {
window.addEventListener('load', () => {
autoConfirmDialog(); // 自動でOKを押す
fillSearchBoxAndSubmit();
autoAcceptPopup();
});
} else {
window.addEventListener('load', addSearchButtons);
}
})();