Search Drachenwald OP

Adds a context menu item to search for a persona in the OP.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name Search Drachenwald OP
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Adds a context menu item to search for a persona in the OP.
// @author Leif Ershag
// @match *://*/*
// @grant GM_registerMenuCommand
// ==/UserScript==

(function() {
    'use strict';

    function submitSearchForm(query) {
        const form = document.createElement('form');
        form.method = 'POST';
        form.action = 'https://op.drachenwald.sca.org/search';
        form.target = '_blank'; // Open form submission in a new tab

        const input = document.createElement('input');
        input.type = 'hidden';
        input.name = 'persona';
        input.value = query;

        form.appendChild(input);
        document.body.appendChild(form);
        form.submit();
        document.body.removeChild(form);
    }

    function searchOp() {
        var name = window.getSelection().toString();
        submitSearchForm(name);
    }

    GM_registerMenuCommand('Search OP', function(x,y) {
        searchOp();
    });
})();