вот мой скрипт:
// ==UserScript==
// @name Rotten Tomatoes Links for Jellyfin
// @namespace http://stpettersen.xyz
// @version 2025-09-07
// @description This script adds a Rotten Tomatoes link for TV and movies on Jellyfin.
// @author Sam Saint-Pettersen
// @match https://jellyfin.mmedia.stpettersen.xyz/*
// @icon
// @grant none
// ==/UserScript==
(function() {
// Replace @match with your Jellyfin server URL.
'use strict';
function waitForElement(selector, targetNode = document.body) {
return new Promise((resolve) => {
const element = document.querySelector(selector);
if (element) {
return resolve(element);
}
const observer = new MutationObserver(() => {
const foundElement = document.querySelector(selector);
if (foundElement) {
observer.disconnect();
resolve(foundElement);
}
});
observer.observe(targetNode, {
childList: true,
subtree: true
});
});
}
function injectRTLink() {
let targetEl = null;
let links = document.getElementsByClassName('button-link')
for (let i = 0; i < links.length; i++) {
if (links.href.startsWith("https://www.themoviedb.org")) {
targetEl = links;
break;
}
if (targetEl != null) {
break;
}
}
let genre = "m";
let year = "";
let title = document.getElementsByTagName("bdi")[0].innerHTML.toLowerCase()
.replace(/ /g,"_").replace(/'/g,"").replace(/_&/g, "").replace(/:/g, "").replace(/,/g, "").replace(/-/g, "_");
let otm = document.getElementsByClassName("originalTitle")[0];
if (otm) {
let ot = document.getElementsByClassName("originalTitle")[0].innerHTML;
if (ot.length > 0) year = "_" + ot;
}
let ott = document.getElementsByClassName("originalTitle")[0];
if (ott) {
let ot = document.getElementsByClassName("originalTitle")[0].innerHTML;
if (ot == "TV") genre = "tv";
}
targetEl.insertAdjacentHTML("afterend",
`, Rotten Tomatoes`
.replace("_TV", ""));
}
// Wait for bottom cards to load before attempting to get/insert links.
waitForElement('.card').then(element => {
injectRTLink();
});
})();
< /code>
Любые указатели были бы великолепны. Спасибо. />https://gist.github.com/stpettersens/ec ... fd1b23cd7a
Подробнее здесь: https://stackoverflow.com/questions/797 ... eload-page
Мобильная версия