Netzkino view

declutters netzkino.de

目前为 2024-05-25 提交的版本。查看 最新版本

// ==UserScript==
// @name Netzkino view
// @description declutters netzkino.de
// @namespace Violentmonkey Scripts
// @match https://www.netzkino.de/
// @grant none
// @version 0.0.1.20240525203437
// ==/UserScript==

document.getElementsByTagName("body")[0].style.display = "none";
document.getElementsByTagName("body")[0].style.visibility = "hidden";

window.addEventListener('DOMContentLoaded',
  function() {


    document.getElementsByTagName("body")[0].onclick = function() {

      // adjust this to your needs:
      // 3: default, for smaller resolutions
      // 4: 1920x1080/full screen
      var columns = 5;
      // 

      var debug = 1;

      var mediathek, mode = "";

      if (debug != 1) {
        console.log = function() {};
        console.warn = function() {};
        console.err = function() {};
      }

      var jsoncontainer = 0;

      for (var i = 0, l = document.getElementsByTagName("script").length; i < l; ++i) {

        if (document.getElementsByTagName("script")[i].type == "application/ld+json") {
          jsoncontainer = i;
          break;
        }

      }

      var scriptEl = document.getElementsByTagName("script")[jsoncontainer];
      var schemaObj = JSON.parse(scriptEl.innerHTML);


      function writetable() {
        var allrows = "";
        for (var i = 0, l = prepared.length; i < l; ++i) {

          var filmset = prepared[i].split("|");
          // name + "|" + url + "|" + image + "|" + duration + "|" + director;

          var link = '<a href="' + filmset[1] + '">';
          var directordisplay = "";
          var comma = "";
          if (filmset[4] != "nix") {
            if (filmset[3] != 0) {
              comma = ", ";
            }
            directordisplay = filmset[4] + ", ";
          }
          // var ctr = i + 1; // '<br />' + ctr +
          allrows += '<div class="box">' + link + '<img src="' + filmset[2] + '" /></a><br />' + link + filmset[0] + "</a><br />" + directordisplay + filmset[3] + '<br /><br /></div>' + "\n";

        }
        return allrows;
      }

      var prepared = new Array();

      if (debug != 0) {
        var skip = 0;
      }

      //                   "@type": "Movie",
      //                   "image": "https://d3owf1x34yi7gd.cloudfront.net/image/images/uploaded/57f558c1-4dd1-4abd-934c-c58e32fa4339/Toedliche_Fragen_cover.jpg",
      //                   "name": "Tödliche Fragen",
      //                   "url": "https://www.netzkino.de/filme/q-and-a",
      //                   "duration": "2H12M",
      //                   "director": "Sidney Lumet"

      for (var i = 0, l = schemaObj.itemListElement.length; i < l; ++i) {

        var name = schemaObj.itemListElement[i].item.name;
        var url = schemaObj.itemListElement[i].item.url;
        var image = schemaObj.itemListElement[i].item.image;
        var duration = schemaObj.itemListElement[i].item.duration;
        duration = duration.replace("M", "");
        if (duration.indexOf("H") == -1) {
          duration = "1H" + duration;
        }
        var durationdisplay = duration.split("H");
        var durationhrs, durationmin;
        durationhrs = durationdisplay[0];
        durationmin = durationdisplay[1];
        duration = (parseInt(durationhrs) * 60) + parseInt(durationmin)
        duration = duration + " Minuten";

        var director = schemaObj.itemListElement[i].item.director; // undefined oder N/A
        director = director.replace("N/A", "nix").replace("undefined", "nix");

        prepared[i] = name + "|" + url + "|" + image + "|" + duration + "|" + director;

      }
      if (location.hash == "#az") {
        prepared = prepared.sort();
        mode = ": a-z";
      }


      var screenwidth = window.innerWidth;
      var imgsize = Math.floor(screenwidth / 3 - 250);
      var cssimg = imgsize.toString();
      var padcss = Math.floor(imgsize / 3).toString();
      var marcss = Math.floor(imgsize).toString();
      var mediathek, dvdx, colcount = "";
      var dvdr = '<div class="box"></div>\n';
      if (columns == 5) {
        colcount = "19% 19% 19% 19% 19";
        dvdx = dvdr;
      } else if (columns == 4) {
        colcount = "25% 25% 25% 25";
        dvdx = dvdr;
      } else {
        colcount = "33% 33% 33";
      }

      mediathek += '<html><head><title>Netzkino view' + mode + '</title><base href="https://www.netzkino.de/"><meta charset="utf-8">\n';
      mediathek += '<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />\n';
      mediathek += '<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />\n';
      mediathek += '<style>body { margin: 10px; font-family: Arial; overflow-x: hidden; } img {width: ' + cssimg + 'px; text-decoration:none;border:none;}\n';
      mediathek += '.wrapper { display: grid; grid-gap: 10px; grid-template-columns: ' + colcount + '%; background-color: #fff; color: #444; }\n';
      mediathek += '.box { background-color: #444; color: #fff; border-radius: 5px; padding: 10px; font-size: 100%; }\n';
      mediathek += '.bottom {margin-top: ' + marcss + 'px;margin-bottom: ' + padcss + 'px;}  .top {margin-top: ' + padcss + 'px;} </style>\n</head><body>\n';
      mediathek += '<div class="wrapper">';
      // <div class="box">' + dvdr + dvdr + dvdx
      mediathek += writetable(prepared);
      mediathek += '</div></body></html>';

      // fix for some weird throw of undefined in the generated markup
      document.write(mediathek.replace(/undefined/g, ""));

      document.getElementsByTagName("body")[0].style.display = "block";
      document.getElementsByTagName("body")[0].style.visibility = "visible";
      document.getElementsByTagName("body")[0].onclick = function() {}

    }

  },
  false);

setTimeout('document.getElementsByTagName("body")[0].click()', 10000);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址