返回首頁 

Greasy Fork is available in English.

IMDb to VidSrc

Add a button to redirect to vidsrc.net on IMDb pages.


安装此脚本?
// ==UserScript==// @name         IMDb to VidSrc// @namespace    https://www.imdb.com/// @icon         https://vidsrc.net/template/vidsrc-ico.png// @version      4.0// @description  Add a button to redirect to vidsrc.net on IMDb pages.// @author       Undefined42// @license MIT// @match        https://*.imdb.com/title/*// @grant        none// ==/UserScript==(function() {'use strict';// Function to extract season and episode numbers from the IMDb pagefunction extractSeasonEpisode() {const seasonEpisodeDiv = document.querySelector('[data-testid="hero-subnav-bar-season-episode-numbers-section"]');if (seasonEpisodeDiv) {const seasonEpisodeText = seasonEpisodeDiv.textContent.trim();const match = seasonEpisodeText.match(/S(\d+).E(\d+)/);if (match) {return {season: match[1],episode: match[2]};}}return null;}// Function to extract the series ID from the IMDb pagefunction extractSeriesId() {const seriesLink = document.querySelector('[data-testid="hero-title-block__series-link"]');if (seriesLink) {const href = seriesLink.getAttribute('href');const match = href.match(/\/title\/(tt\d+)\//);if (match) {return match[1];}}return null;}// Create a function to open the specified URL in a new tab for episodesfunction redirectToEpisode() {const seasonEpisode = extractSeasonEpisode();const seriesId = extractSeriesId();if (seasonEpisode && seriesId) {const { season, episode } = seasonEpisode;const vidsrcUrl = `https://vidsrc.net/embed/tv/${seriesId}/${season}/${episode}`;window.open(vidsrcUrl, '_blank');}}// Create a function to open the specified URL in a new tab for movies or seriesfunction redirectToVidSrc() {const imdbId = window.location.pathname.split('/')[2];const isMovie = document.title.indexOf('TV Series') === -1;const isEpisode = document.title.indexOf('TV Episode') === -1;let vidsrcUrl;if (isMovie && isEpisode) {vidsrcUrl = `https://vidsrc.net/embed/movie/${imdbId}`;} else {if (isMovie) {redirectToEpisode();return;} else {vidsrcUrl = `https://vidsrc.net/embed/tv/${imdbId}`;}}window.open(vidsrcUrl, '_blank');}// Create the button elementconst button = document.createElement('button');button.textContent = '📽 Watch on VidSrc';button.style.fontFamily = 'Arial';button.style.position = 'fixed';button.style.bottom = '10px';button.style.right = '10px';button.style.padding = '10px';button.style.background = '#125784';button.style.color = '#bad8eb';button.style.border = 'none';button.style.cursor = 'pointer';button.style.fontWeight = 'bold';button.style.borderRadius = '6px';button.style.zIndex = '9999';button.style.filter = 'drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1))';// Add a click event listener to the buttonbutton.addEventListener('click', redirectToVidSrc);// Append the button to the body of the pagedocument.body.appendChild(button);})();