hanime.tv - avatar & banner helper

This scripts lets you open avatar and banner in a new tab when you click on them.

  1. // ==UserScript==
  2. // @name hanime.tv - avatar & banner helper
  3. // @namespace https://myanimelist.net/profile/kyoyatempest
  4. // @include https://hanime.tv/channel
  5. // @match https://hanime.tv/channels/*
  6. // @version 1.6
  7. // @author kyoyacchi
  8. // @description This scripts lets you open avatar and banner in a new tab when you click on them.
  9. // @icon https://hanime.tv/favicon.ico
  10. // @license gpl-3.0
  11. // @run-at document-end
  12. // ==/UserScript==
  13.  
  14.  
  15. function App(){
  16.  
  17. let v = document.querySelector(".avatar__image")
  18. ? document.querySelector(".avatar__image") : null;
  19.  
  20. let url = document.querySelector(".avatar__image") ? document.querySelector(".avatar__image").style.backgroundImage.split('"')[1] : null;
  21.  
  22. if (v){
  23. v.onclick = function () {
  24. if (url) {
  25. window.open(url, "_blank")
  26.  
  27. }
  28. }
  29. }
  30.  
  31.  
  32. let banner =document.querySelector(".channel__banner")? document.querySelector(".channel__banner") : null;
  33. let bannerurl = banner ? document.getElementsByClassName("channel__banner__bg_overlay")[0].style.backgroundImage.split('"')[1] : null;
  34.  
  35.  
  36.  
  37. if (banner){
  38.  
  39. banner.onclick = function () {
  40. if (bannerurl == "https://static-assets-44d.pages.dev/images/temp_bg_top.png") {//default
  41. return
  42. } else {
  43.  
  44. window.open(bannerurl,"_blank")
  45. }
  46.  
  47. }
  48. }
  49.  
  50.  
  51. }
  52. window.addEventListener("load",()=>{
  53. App();
  54. });
  55. let curl = window.location.href
  56. function checkUrl (){
  57. let newUrl = window.location.href
  58. if(newUrl != curl){
  59. App();
  60. }
  61. }
  62.  
  63. setInterval(checkUrl,1000);