display all anime image banner

load all image banner

  1. // ==UserScript==
  2. // @name display all anime image banner
  3. // @description load all image banner
  4. // @namespace gamer_ad_img
  5. // @author Covenant
  6. // @version 1.0.3
  7. // @license MIT
  8. // @homepage
  9. // @match https://www.gamer.com.tw/index_legacy.php
  10. // @match https://www.gamer.com.tw/index_legacy.php?ad=N
  11. // @match https://gamer.com.tw
  12. // @match https://web.archive.org/web/*/*www.gamer.com.tw
  13. // @match https://web.archive.org/web/*/*www.gamer.com.tw/
  14. // @match https://web.archive.org/web/*/*www.gamer.com.tw/index2.php
  15. // @match https://web.archive.org/web/*/*www.gamer.com.tw/index2.php?ad=N
  16. // @match https://web.archive.org/web/*/*www.gamer.com.tw/index_legacy.php
  17. // @match https://web.archive.org/web/*/https://gamer.com.tw
  18. // @match https://web.archive.org/web/*/https://gamer.com.tw/
  19. // @match https://web.archive.org/web/*/https://gamer.com.tw/index_legacy.php
  20. // @icon data:image/x-icon;base64,AAABAAIAICAAAAEACACoCAAAJgAAABAQAAABAAgAaAUAAM4IAAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAA////APb29gDw8PAA4+PjAN3d3ADMzMwAxsbGALu7uwCysrIAqqqqAKOjowCZmZkAiIiIAHh4dgBvb28AZmZmAFhYWABSUlEASkpKAEFBQQAzMzMAJycoAAUFBQAAAAAAAgH+AFpNLABwaT8AkIAtAK6aLwCzokkAoJZjAMGzZQDPxpYA49y3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcMDBMMBxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcIERAIFxcXBBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXCBERFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwgQDxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXEBIIFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwgQEBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXCBASFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcIEBAXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwgQEAkXFxcXFxcXFxcEFxcXFxcXFxcXFxcXFxcXFxcXFxAQDBcXFxcXFxcXFwwXFxcXFxcXFxcXFxcXFxcXFxcXCA4QCBcXFxcXFwkOFxcXFxcXFxcXFxcXFxcXFxcXFxcXCA8SEAwXFwwODBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXCBISEw4MDwgXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFw4QFxcXFxcXFxcXFxcXChEREQoXFxcJCQ4OEhIRERMXFw4QEQkXFxcXFxcXFxcXFxcKEREREREREwkXCQkJERAQCgoREBcXFxcXFxcXFxcXFxcXChcKFwoXFxcXFxcJChERERERDBcMCRcMEhcXFxcXFxcXFxcXFxcXFxcRFxcXCQoRERERDBMSEhEcFxcXFxcXFxcXFxcXFxcXFwoRCRcXAwoREREREBocFxcXFxcXFxcXFxcXCRECFxcXChMTEREREBERHBERCRcXFxcXFxcXFxcXFxcXChEJCQkREREREREREREcAgsPCRIXFxcXFxcXFxcXFxcXChERERERERERERERExwXFwwSCRIXFxcXFxcXFxcXFxcNERERERERERERERERHBcKEgoSFxcXFxcXFxcXFxcXChEREREREREREREREREUERcXFxcXFxcXFxcXFxcXCg0NERERERERERERERERDQ0cCBIXFxcXFxcXFwoKDRERERERERERERERERENDQ0cHBwdIRcXFwoTEhEQERESEhINDQ0NDQ0NDQ0NDQ0cHBwdFxcXFxcXFxcXFxcXFxchHBwcHBweHh4eHBwcHBwhFxcXFxcXFxcXFxcXFxchHBwcHBwcHBwcHBwcHCEXFxcXFxcXFxcXFx8fHhwcHBwcHBwcHBweHyEhFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxf////////wf///w7///4////8f////H////j////4////+P////h/3//8f9///D8///4Mf///AP///8//BwBh/+AIAf/6vwCT//3AA//8YA//HAAf/4AAB//AAMP/wACH/4AAf/4AAB/gAAAcAAAA//wAA//wAB/8AAH///////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAD///8A////APDw8ADj4+MA3d3cAMzMzADGxsYAu7u7ALKysgCqqqoAo6OjAJmZmQCIiIgAeHh2AG9vbwBmZmYAWFhYAFJSUQBKSkoAQUFBADMzMwAnJygABQUFAAAAAAACAf4AWk0sAHBpPwCQgC0ArpovALOiSQCglmMAwbNlAM/GlgDj3LcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxcXFxcXFxcGDAgIFxcXFxcXFxcXFxcEERcXFwgXFxcXFxcXFxcEEAUXFxcXFxcXFxcXFxcXCBAXFxcXFxcXFxcXFxcXFwgQFxcXFxcGFxcXFxcXFxcEEAwXFxcMFxcXFxcXFxcXFwgSDA8OBBcXFwwXFxcXFxcXCBAPFxcXBhcXCgwLDA0NDQoIEQ8IBQ0XFxcGFwkXFw0PDxEREwwXFxcXFxcXFwwKFw8RHBEJFxcXFxcXDAkXDxEREREXEgcSFxcXFxcMEREREREPFwgSFwYODRERERERDxwcHBwPFxcXFyEfHxwcHBwcICEXFxcXIRwcHBwcHCAhFxcXFxcXF/8P///+d////H////z////8+////Hf///4H//9/Hf//gAH//9YD///8g///8gj///gJ//8AA///wA///wB///8=
  21. // @grant GM_setValue
  22. // @grant GM_getValue
  23. // @grant GM_registerMenuCommand
  24. // @run-at document-end
  25. // @noframes
  26. // ==/UserScript==
  27. function create_div(class_name,is_appendChild,node,refNode){
  28. let div=create_node("div",class_name,is_appendChild,node,refNode);
  29. div.style.backgroundSize='contain';
  30. div.style.backgroundRepeat='no-repeat';
  31. div.lang='ja';
  32. return div;
  33. }
  34. function create_img(url,title,class_name,is_appendChild,node,refNode){
  35. let img=create_node("img",class_name,is_appendChild,node,refNode);
  36. img.src=url;
  37. img.title=title;
  38. img.alt=title;
  39. img.style.setProperty('max-width',"128px");
  40. img.style.setProperty('max-height',"256px");
  41. return img;
  42. }
  43. function create_node(tagname,class_name,is_appendChild,node,refNode){
  44. let element=document.createElement(tagname);
  45. element.id="";
  46. if(Array.isArray(class_name)){
  47. for(let i=0; i<class_name.length; i++){element.classList.add(class_name[i]);}
  48. }else if(typeof class_name==='string'){element.classList.add(class_name);}
  49. if(is_appendChild){node.appendChild(element);}else{node.insertBefore(element, refNode);}
  50. return element;
  51. }
  52. function create_node_text(tagname,innerText,class_name,is_appendChild,node,refNode){
  53. let element = create_node(tagname,class_name,is_appendChild,node,refNode);
  54. element.innerText=innerText;
  55. element.lang='ja';
  56. return element;
  57. }
  58. function fn_url(url){
  59. let obj_url=new URL(url);
  60. let params=obj_url.searchParams;
  61. return [obj_url,params];
  62. }
  63. //console.log("break");
  64. (function(){
  65. 'use strict';
  66. let url=fn_url(document.location);
  67. if(url[0].host.search(new RegExp("web.archive.org", "i"))==0){
  68. if(url[0].pathname.search(/\/web\/\d+\*\//i)==0){
  69. console.log("return Calendar");
  70. return;
  71. }
  72. }
  73. let div_flyRightBox=document.querySelectorAll('div#flyRightBox');
  74. if(div_flyRightBox.length==1){
  75. div_flyRightBox=div_flyRightBox.length==1?div_flyRightBox[0]:div_flyRightBox;
  76. let div_BA_main=document.querySelectorAll('div.BA-main')[0];
  77. let fake_div=create_div(["BA-right","mono"],true,div_BA_main);
  78. fake_div.style.setProperty('height',div_flyRightBox.clientHeight*1.2+"px");
  79. let div_BA_right=create_div(["BA-right","mono"],true,div_BA_main);
  80. let output=create_div(["BA-rbox1","bh-card","mono"],true,div_BA_right);
  81. create_node_text("h1","\uF1D1動漫image\uF1D0",["BA-ltitle","mono"],true,output);//FontAwesome
  82. let ary_script=div_flyRightBox.querySelectorAll('script');//image url array
  83. let str_script_code=ary_script[0].textContent;
  84. let ary_str=str_script_code.split("src=\\\"");
  85. for(let i = 0; i < ary_str.length; i++){
  86. if(ary_str[i].search(new RegExp("https:", "i"))==0){
  87. let indexof=ary_str[i].indexOf("\\\">");
  88. let url_img=ary_str[i].slice(0,indexof).replaceAll("\\\\/","/");
  89. url_img=url_img.replaceAll("\\/","/");//巴哈js裡字串格式不知道哪一天出現更改,導致讀取到的圖片網址出現\/,雖然詭異的一樣可以顯示圖片,但會影響複製圖片網址,新分頁看圖網址出現//S//2KU//
  90. create_img(url_img,"",[],true,output);
  91. }else{continue;}
  92. }
  93. }
  94. })();