Jak převést bookmarklet na uživatelský skript Greasemonkey?

Existuje snadný způsob, jak to udělat? A je něco, co je potřeba změnit kvůli rozdílům v tom, jak to funguje?

Odpověď

Nejjednodušší způsob, jak to udělat:

  1. Spusťte kód bookmarkletu prostřednictvím dekodéru URL. takže javascript:alert%20('Hi%20Boss!')%3B se například stává:
    javascript:alert ('Hi Boss!');

  2. Odstraňte úvodní javascript: vypnuto. Výsledek:alert ('Hi Boss!');

  3. Přidejte tento kód na konec svého souboru Greasemonkey. Vytvořte například soubor s názvem,
    Ahoj World.user.js , s tímto kódem:

    // ==UserScript==
    // @name            Hello World!
    // @description     My first GM script from a bookmarklet
    // @include         https://stackoverflow.com/questions/*
    // @grant           none
    // ==/UserScript==
    
    alert ('Hi Boss!');
    
  4. Otevřete Hello World.user.js pomocí Firefoxu (Ctrl O ). Greasemonkey vás vyzve k instalaci skriptu.

  5. Nyní se kód bookmarkletu automaticky spustí na všech stránkách, které jste zadali pomocí @include a @exclude směrnice.

  6. Aktualizace: Pro zajištění maximální kompatibility použijte @grant none direktiva, která byla přidána v pozdějších verzích Greasemonkey a Tampermonkey.

DŮLEŽITÉ:

  • Uživatelský skript se spustí mnohem dříve, než byste kdy mohli aktivovat záložku. Za normálních okolností to není problém.

  • V některých případech však možná budete muset vyčkat, až se některá část stránky plně načte .
    V takovém případě můžete použít techniky/utility jako waitForKeyElements .

  • Viz také Výběr a aktivace správných ovládacích prvků na webu řízeném AJAX.

  • Pokud stále nemůžete zprovoznit svůj nový skript, přečtěte si článek Můj velmi jednoduchý skript Greasemonkey není spuštěn?. Postupujte podle pokynů a zahrňte zadané informace v jakékoli otázce, kterou otevřete o problémech s novým skriptem.