#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:
Вы можете упростить логику.
- Поскольку вам нужно только запустить его
https://beta.crunchyroll.com
, нет смысла запускать его на других страницах @match
является более надежным, чем@include
- Используйте
@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');