IMDB - produce directory name

produces a directory name ready to copy/paste

当前为 2018-05-02 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name IMDB - produce directory name
  3. // @namespace KG
  4. // @include /^https?://www\.imdb\.com/title/tt\d{7}/($|\?)/
  5. // @run-at document-start
  6. // @grant none
  7. // @version 0.9
  8. // @description produces a directory name ready to copy/paste
  9. // ==/UserScript==
  10.  
  11. if (!window.frameElement) {
  12. run();
  13. }
  14.  
  15. function run() {
  16. var url = window.location + "";
  17. url = url.split("?")[0] + "fullcredits";
  18. var x = new XMLHttpRequest();
  19. x.open("GET",url);
  20. x.onload = function() {
  21. process(this.responseXML);
  22. }
  23. x.responseType = "document";
  24. x.send();
  25. }
  26.  
  27. function process(response) {
  28. var directors = "";
  29. var titleYear = document.title.replace(" - IMDb", "");
  30. titleYear = titleYear.replace("(TV Series ", "(");
  31. titleYear = titleYear.replace("(TV mini-series ", "(");
  32. titleYear = titleYear.replace("(TV ", "(");
  33. titleYear = titleYear.replace(" (V)", "");
  34. titleYear = titleYear.replace(" (TV)", "");
  35. titleYear = titleYear.replace("/I)", ")");
  36. titleYear = titleYear.replace("/II)", ")");
  37. titleYear = titleYear.replace("/III)", ")");
  38. var headings = response.querySelectorAll('h4.dataHeaderWithBorder');
  39. for (i=0; i < headings.length; i++) {
  40. if (headings[i].textContent.indexOf('Directed by') != -1) {
  41. var dirLinks = headings[i].nextElementSibling.getElementsByTagName('a');
  42. break;
  43. }
  44. }
  45. if (dirLinks) {
  46. var sep = (dirLinks.length == 2) ? " & " : ", "; // choose seperator
  47. for (i=0; i < dirLinks.length; i++) {
  48. directors += dirLinks[i].textContent.trim();
  49. directors += (i < dirLinks.length-1) ? sep : "";
  50. }
  51. }
  52. var resultBox = document.createElement('div');
  53. resultBox.innerHTML = "<textarea readonly id='resultBox' style='font-size:90%; background: #000; color: #fff; position: fixed; left: 0; bottom: 0; z-index: 999; resize: none;' rows='1' cols='50' onclick='javascript: this.select();'>"
  54. + titleYear + ", " + directors + "</textarea>";
  55. document.body.appendChild(resultBox);
  56. document.getElementById("resultBox").select();
  57. }