From 003c5377bd8ff0fc9533ab654b5ecdfc8e79cc68 Mon Sep 17 00:00:00 2001 From: smpl Date: Sat, 28 Aug 2021 15:08:45 +0200 Subject: [PATCH] =?UTF-8?q?Omskrivning=20af=20Altinget.=20-=20L=C3=B8sere?= =?UTF-8?q?=20regex.=20-=20Overskrift=20og=20artikel=20billede.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AltingetNoJS.user.js | 67 ++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/AltingetNoJS.user.js b/AltingetNoJS.user.js index 1807f2e..0b7b5c5 100644 --- a/AltingetNoJS.user.js +++ b/AltingetNoJS.user.js @@ -1,35 +1,54 @@ // ==UserScript== -// @name Altinget NoJS +// @name Altinget NoJS // @description Altinget NoJS -// @include https://www.altinget.dk/* -// @version 1 -// @grant none +// @include https://www.altinget.dk/* +// @version 1 +// @grant none // ==/UserScript== /* SPDX-License-Identifier: Zlib * Copyright (C) 2021 smpl */ -var s = document.head.querySelectorAll('script, link, style'); -s.forEach( - function(se) { - se.parentNode.removeChild(se); +var article_text; +var article_title; +var article_image; +var article_style; +var container; +var elements; + +/* Hent titel og artikelbillede fra OpenGraph data. */ +article_title = document.head.querySelector('meta[property="og:title"]').getAttribute('content'); +article_image = document.head.querySelector('meta[property="og:image"]').getAttribute('content'); + +/* Fjern alle script, style og link tags fra */ +elements = document.head.querySelectorAll('script, link, style'); +elements.forEach( + function(e) { + e.parentNode.removeChild(e); } ); -var st = document.createElement('style'); -st.innerHTML = 'div { max-width: 640px }'; -document.head.appendChild(st); - -s = document.querySelectorAll('script'); - -s.forEach( - function(se) { - - if(/window.__NUXT__/.test(se.innerHTML)) { - var ScriptRaw = se.innerHTML; - var ArticleText = ScriptRaw.match(/\{article:\{[^}]*Text:"(.*?)(?' + JSON.parse('"' + ArticleText[1] + '"') + ''; - } - +/* Find alle script tags på siden og led efter JSON med indhold. */ +elements = document.querySelectorAll('script'); +for(let i=0; i < elements.length; i++) { + if(/window.__NUXT__/.test(elements[i].innerHTML)) { + article_text = JSON.parse('"' + elements[i].innerHTML.match(/,Text:"(.*?)(? */ +document.body.innerHTML = '
'; +container = document.getElementById('container'); + +/* Indsæt et