// ==UserScript== // @name Spiegel.de Fotostrecke Auf Einer Seite Fork:neues Design 9/16 // @namespace https://github.com/muescha/SpiegelDeFotostrecke // @description Zeigt die Fotostrecke auf einer Seite an. // @include http://www.spiegel.de/fotostrecke/* // @include https://www.spiegel.de/fotostrecke/* // @grant GM_xmlhttpRequest // @version 1.3.4 // @downloadURL https://update.greasyfork.cloud/scripts/23005/Spiegelde%20Fotostrecke%20Auf%20Einer%20Seite%20Fork%3Aneues%20Design%20916.user.js // @updateURL https://update.greasyfork.cloud/scripts/23005/Spiegelde%20Fotostrecke%20Auf%20Einer%20Seite%20Fork%3Aneues%20Design%20916.meta.js // ==/UserScript== window.spiegelDeFotostrecke = { genImageId:function (imageId) { return "image" + imageId; }, getImage:function (imageId, url) { GM_xmlhttpRequest({ method: "GET", url: url, onload: function(response) { spiegelDeFotostrecke.extractImage(imageId, response.responseText); } }); }, extractImage:function (imageId, html) { var htmlImage = html.replace(/(\r|\n)/g, '').replace(/^.+
(.+?)<\/div>.+/, '$1'); // Ziemlich unscharfer Selektor, aber es scheint tatsächlich nur ein

im Dokument zu geben var htmlDescription = html.replace(/(\r|\n)/g, '').replace(/^.+

(.+?)<\/p>.+/, '$1'); var divImage = document.createElement('div'); divImage.innerHTML = htmlImage; var image = divImage.getElementsByTagName("img")[0]; var div = document.getElementById(spiegelDeFotostrecke.genImageId(imageId)); div.style.textAlign = "center"; div.style.marginTop = "50px"; div.innerHTML = "

Nr. " + imageId + "

" + htmlDescription; div.insertBefore(image, div.getElementsByTagName("p")[0]); }, getPageInfo:function () { var insertBeforeElement = document.getElementsByClassName("biga-nav-after")[0]; var vonBisText = document.getElementsByClassName("biga-control")[0].textContent.replace(/(\r|\n|\s)/g, ''); var currentPage = vonBisText.replace(/(\d*)\/(.\d*)/, '$1') - 0; console.log(currentPage); var maxPages = vonBisText.replace(/(\d*)\/(.\d*)/, '$2') - 1; var url = document.location.href; return { insertBeforeElement : insertBeforeElement, currentPage : currentPage, maxPages : maxPages, url : url }; }, init:function () { var pageInfo = spiegelDeFotostrecke.getPageInfo(); if (pageInfo.currentPage == 1) { for (var imageId = 2; imageId < pageInfo.maxPages + 2; imageId++) { var div = document.createElement('div'); div.id = spiegelDeFotostrecke.genImageId(imageId); pageInfo.insertBeforeElement.parentNode.insertBefore(div, pageInfo.insertBeforeElement); var newUrl = pageInfo.url.replace(/\.html/g, "-" + imageId + ".html"); spiegelDeFotostrecke.getImage(imageId, newUrl); } } else { console.log("not on page 1!"); } } }; spiegelDeFotostrecke.init();