Добавить в закладки, URL-адрес которых загружается с сайта

Есть сайт , на котором есть определенная кнопка, href которой меняется каждую неделю. Мне нужна закладка, которая перенаправит меня на URL-адрес в этом href.

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

Вот что у меня есть:

javascript:(function(){
    window.location.href = "https://rasp.tpu.ru/site/department.html?id=7950&cource=1";
    window.location.href = Array.from(document.querySelectorAll('a')).find(element => element.href.includes('gruppa_42148')).href 
})();

Я попытался дождаться загрузки сайта:

javascript:(function(){
    window.location.href = "https://rasp.tpu.ru/site/department.html?id=7950&cource=1";
    window.addEventListener('load', function () { window.location.href = Array.from(document.querySelectorAll('a')).find(element => element.href.includes('gruppa_42148')).href })
})();

Но это не работает. Как я понимаю, с букмарклетом это просто невозможно, нельзя запустить скрипт на одной странице, затем перейти на другую и попытаться получить содержимое этой страницы, чтобы продолжить выполнение чего-то в скрипте.

Еще я подумывал написать в Tampermonkey скрипт, который будет запускаться только тогда, когда я захожу на этот сайт с определенной закладки, но опять же понятия не имею, как это сделать.

🤔 А знаете ли вы, что...
JavaScript можно использовать для создания анимаций и игр на веб-страницах.


50
1

Ответ:

Решено

На этой странице на самом деле есть ссылка, которая выглядит как ссылка перенаправления сервера на страницу календаря:

https://go.tpu.ru/VJSufWbM > https://rasp.tpu.ru/redirect/kalendar.html?hash=1Xyu9g > https://rasp.tpu.ru/ gruppa_42148/2024/1/view.html


Вы также можете делать с tampermonkey все, что хотите:

// ==UserScript==
// @name         bookmark
// @namespace    http://tampermonkey.net/
// @version      2024-09-04
// @description  .
// @author       You
// @match        https://rasp.tpu.ru/site/department.html?id=7950&cource=1
// @icon         https://www.google.com/s2/favicons?sz=64&domain=tpu.ru
// @grant        none
// ==/UserScript==


if (location.hash === '#bookmark'){
    const a = document.querySelector('a[href*=gruppa_42148]');
    a && location.replace(a.href);
}

это будет перенаправление только в том случае, если URL-адрес содержит хэш #bookmark.

и используйте это как URL-адрес закладки: https://rasp.tpu.ru/site/department.html?id=7950&cource=1#bookmark