Speichern Sie Daten zur späteren Wiederverwendung in Greasemonkey

1544
alecail

Ich möchte neben allen Links in der Blogspot-Statistik eine Schaltfläche zum Entfernen / Sperren hinzufügen. Einige von ihnen sind Spam, und ich möchte sie für immer entfernen. Bisher wähle ich sie mit dieser Art von jQuery-Selektor aus:

$('a[href*="referer.spam.domain"]').closest("li").hide(); 

Ich möchte jedoch, dass es flexibler ist, weil ich das Skript für jede neue Domäne manuell bearbeiten muss.

0

1 Antwort auf die Frage

1
Brock Adams

Um Daten für eine spätere Wiederverwendung zu speichern, würden Sie die GM_setValue-Funktion sowie GM_getValue () verwenden .
Diese beiden Funktionen haben den einzigartigen Vorteil, dass sie Daten über mehrere Domänen hinweg speichern. Nun, das globalStorageist veraltet, sie sind die einzige Methode, dies zu tun.

Oder Sie können auch localStorage oder Cookies verwenden, aber diese erlauben möglicherweise nicht, was Sie möchten, da sie jeweils nur für eine Domäne funktionieren.

Wenn Sie es versuchen GM_setValue(), müssen Sie wahrscheinlich stattdessen die GM_SuperValueDienstprogramme verwenden, da GM_setValue()allein das Speichern von Strings nicht sinnvoll ist.


In diesem Fall kann es jedoch besser sein, dem Skript für jede Site eine Zeile hinzuzufügen, weil:

  1. Wenn Ihr Beispiel typisch ist, handelt es sich nur um eine neue Zeile pro Standort (wobei keine standortspezifischen @includeAnweisungen gezählt werden).
  2. Sie müssen Code sowie Daten speichern.
    In der Frage verwenden Sie beispielsweise nicht nur den Selektor ( 'a[href*="referer.spam.domain"]'), sondern auch die Beziehung ( .closest("li")). Beide müssten vermutlich gespeichert werden.
    Das Speichern dieser neuen Komplexitätsebene ist in diesem Fall wahrscheinlich nicht gewährleistet.
  3. Es ist nicht so einfach wie das "Speichern von Daten". Sie benötigen außerdem Methoden zum Hinzufügen, Auflisten, Bearbeiten und Löschen von Werten. Das ist viel mehr Code, wenn Sie es richtig machen wollen. Sie können jedoch Hilfsprogramme wie "Script Options Dialog" verwenden, um die Benutzeroberfläche zu unterstützen.