Я хотел бы добавить кнопку удаления / черного списка рядом со всеми ссылками в статистике Blogspot. Некоторые из них являются ссылками на спам, и я хотел бы удалить их навсегда. Пока что я выбираю их с помощью такого селектора jQuery:

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

но я бы хотел, чтобы он был более гибким, потому что мне нужно вручную редактировать скрипт для каждого нового домена.

1 ответ1

1

Чтобы сохранить данные для последующего повторного использования, вы должны использовать функцию GM_setValue, а также GM_getValue().
Эти две функции имеют уникальное преимущество в том, что они хранят данные в нескольких доменах. Теперь, когда globalStorage устарел, они являются единственным способом сделать это.

Или вы также можете использовать localStorage или куки, но они могут не разрешать то, что вы хотите, потому что они работают только для одного домена за раз.

Если вы попробуете GM_setValue() , вам, вероятно, придется сделать это, используя вместо этого утилиты GM_SuperValue , так как GM_setValue() сама по себе не делает ничего, кроме хранения строк.


Однако в данном конкретном случае лучше добавить строку в скрипт для каждого сайта, потому что:

  1. Если ваш пример типичен, это всего одна новая строка для каждого сайта (не считая специфических для сайта директив @include).
  2. Вы должны хранить код, а также данные.
    Например, в вопросе вы используете не только селектор ('a[href*="referer.spam.domain"]'), но также и отношение (.closest("li")). Оба из них, вероятно, должны быть сохранены.
    Хранение этого - новый уровень сложности, который, вероятно, не оправдан в этом случае.
  3. Это не так просто, как "хранение данных". Вам также понадобятся способы: Добавить, Список, Изменить и Удалить значения. Это намного больше кода, если вы хотите сделать это правильно. Но вы можете использовать такие утилиты, как "Script Options Dialog", чтобы помочь с пользовательским интерфейсом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .