IMDb you may know them from

Adds a frame with movies I have already seen

目前為 2024-11-26 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         IMDb you may know them from
// @match        https://www.imdb.com/name/*
// @match        https://www.imdb.com/*/name/*
// @description  Adds a frame with movies I have already seen
// @grant        none
// @version      2.0.3
// @license      MIT
// @namespace https://greasyfork.org/users/1218651
// ==/UserScript==
 
(function () {
  var actorId = window.location.href.match(/\/name\/(nm\d+)/)[1];
 
  var container = document.createElement('div');
  container.style.clear = 'both';
 
  var header = document.createElement('h3');
  header.innerHTML = 'You may know them from (click to expand/collapse)';
  header.style.cursor = 'pointer';
  header.style.color = '#0E63BE'; // Imposta il colore dell'intestazione utilizzando il valore esadecimale
 
  var iframe = document.createElement('iframe');
  iframe.src = 'https://www.imdb.com/filmosearch/?role=' + actorId + '&mode=simple&my_ratings=restrict';
  iframe.style.width = '100%';
  iframe.style.height = '500px';
  iframe.style.display = 'none'; // Nasconde inizialmente il frame
 
  // Aggiungi un evento onload all'iframe per modificare i link al suo interno
  iframe.onload = function () {
    // Rimuovi completamente l'elemento con id "imdbHeader" dal frame
    var imdbHeader = iframe.contentDocument.getElementById('imdbHeader');
    if (imdbHeader) {
      imdbHeader.parentNode.removeChild(imdbHeader);
    }
 
    // Rimuovi completamente l'elemento <ul> con la classe specificata dal frame
    var ipcTabs = iframe.contentDocument.querySelector('ul.ipc-tabs.ipc-tabs--base.ipc-tabs--align-left.sc-6736dd52-2.gRVa-dQ.tabs');
    if (ipcTabs) {
      ipcTabs.parentNode.removeChild(ipcTabs);
    }
 
    // Rimuovi completamente l'elemento <div> con la classe specificata dal frame
    var divToRemove = iframe.contentDocument.querySelector('div.sc-e3ac1175-5.eKfFfl');
    if (divToRemove) {
      divToRemove.parentNode.removeChild(divToRemove);
    }
 
    // Rimuovi completamente gli elementi con la classe specificata dal frame
    var elementsToRemove = iframe.contentDocument.querySelectorAll('.ipc-title.ipc-title--base.ipc-title--page-title.ipc-title--on-textPrimary');
    elementsToRemove.forEach(function (element) {
      element.parentNode.removeChild(element);
    });
 
    // Rimuovi completamente gli elementi con la classe specificata dal frame
    var pageBackground = iframe.contentDocument.querySelectorAll('.ipc-page-background.ipc-page-background--baseAlt.sc-8cf8f1-1.kdGFti');
    pageBackground.forEach(function (element) {
      element.parentNode.removeChild(element);
    });
 
    // Rimuovi completamente l'elemento footer con classe "imdb-footer" dal frame
    var imdbFooter = iframe.contentDocument.querySelector('footer.imdb-footer');
    if (imdbFooter) {
      imdbFooter.parentNode.removeChild(imdbFooter);
    }
 
    // Rimuovi completamente l'elemento <div> con la classe specificata dal frame
    var recentlyViewed = iframe.contentDocument.querySelector('div.sc-7f8be4ff-0.ckODVo.recently-viewed.celwidget');
    if (recentlyViewed) {
      recentlyViewed.parentNode.removeChild(recentlyViewed);
    }
 
    // Modifica i link all'interno del frame
    var linksInIframe = iframe.contentDocument.querySelectorAll('a');
    linksInIframe.forEach(function (link) {
      link.setAttribute('target', '_top'); // Imposta il target dei link nell'iframe su "_top"
    });
  };
 
  container.appendChild(header);
  container.appendChild(iframe);
  var targetElement = document.querySelector('div.ipc-chip-list--base');
 
  //var targetElement = document.querySelector('div.ipc-chip-list__scroller');
  // Controlla se l'elemento di destinazione esiste prima di inserire l'iframe
  if (targetElement) {
    targetElement.parentNode.insertBefore(container, targetElement);
 
    header.addEventListener('click', function () {
      if (iframe.style.display === 'none') {
        iframe.style.display = 'block'; // Mostra il frame quando si clicca sull'intestazione
      } else {
        iframe.style.display = 'none'; // Nasconde il frame quando si clicca sull'intestazione di nuovo
      }
    });
  } else {
    // Se l'elemento previsto non esiste, puoi scegliere un modo alternativo per inserire l'iframe o gestire il caso di conseguenza.
    console.log('L\'elemento previsto non esiste su questa pagina.');
  }
})();