Greasemonkey — Перенаправление браузера

#greasemonkey

Вопрос:

Итак, прошла минута с тех пор, как я использовал скрипты Greasemonkey, и я, вероятно, забыл сделать что-то простое, но…

Что я хочу делать, так это когда я когда-либо перейду к https://beta.crunchyroll.com чтобы вместо этого перенаправить меня на https://beta.crunchyroll.com/simulcasts/seasons/spring-2021 и я думаю, что мой текущий код должен это делать, но по какой-то причине этого нет.

 // ==UserScript==
// @name     Crunchyroll Redirect
// @version  1
// @grant    none
// @include     http://*.crunchyroll.*/*
// @include     https://*.crunchyroll.*/*
// ==/UserScript==

var current_location = content.document.location;

if(current_location == "https://beta.crunchyroll.com"){
            window.location.replace("https://beta.crunchyroll.com/simulcasts/seasons/spring-2021")
}
 

Так где же я все испортил?

Ответ №1:

Вы можете упростить логику.

  1. Поскольку вам нужно только запустить его https://beta.crunchyroll.com , нет смысла запускать его на других страницах
  2. @match является более надежным, чем @include
  3. Используйте @run-at для запуска как можно скорее

Вот пример:

 // ==UserScript==
// @name          Crunchyroll Redirect
// @match         *://beta.crunchyroll.com/*
// @version       1
// @grant         none
// @run-at        document-start
// ==/UserScript==

window.stop();    // stop loading
location.replace('https://beta.crunchyroll.com/simulcasts/seasons/spring-2021');