Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sidneys/4392fdde27a0cf60cb12ada20c95fb81 to your computer and use it in GitHub Desktop.
Save sidneys/4392fdde27a0cf60cb12ada20c95fb81 to your computer and use it in GitHub Desktop.
UserScript | Die WELT Online | Artikelkommentare Automatisch Einblenden
// ==UserScript==
// @name Die WELT Online | Artikelkommentare Automatisch Einblenden
// @namespace de.sidneys.userscripts
// @homepage https://gist.githubusercontent.com/sidneys/4392fdde27a0cf60cb12ada20c95fb81/raw/
// @version 4.0.0
// @description Alle Antworten zu Artikeln bei WELT.DE immer einblenden (Always automatically expand all WELT.DE article comments)
// @author sidneys
// @icon https://www.welt.de/favicon.ico
// @noframes
// @include https://www.welt.de/*article*
// @require https://greasyfork.org/scripts/38888-greasemonkey-color-log/code/Greasemonkey%20%7C%20Color%20Log.js
// @require https://greasyfork.org/scripts/375023-library-queryselectorinterval/code/Library%20%7C%20querySelectorInterval.js
// @grant GM.addStyle
// @run-at document-end
// ==/UserScript==
/**
* ESLint
* @global
*/
/* global querySelectorInterval */
/* global clearQuerySelectorInterval */
Debug = false
/**
* Minimum Delay between Lookups
* @default
* @constant
*/
const minimumLookupIntervalDuration = 1000
/**
* CSS Selector for "Alle Einblenden" Button
* @constant
*/
const cssSelector = 'div.c-content-container:nth-child(1) > div:nth-child(4) > div:nth-child(4) > div:nth-child(1) > div > div:nth-child(3) > div:nth-child(2) > a:nth-child(1)'
/**
* Inject Stylesheet
*/
let injectStylesheet = () => {
console.debug('injectStylesheet')
GM.addStyle(`
/* .busy
========================================================================== */
.busy,
.busy *
{
cursor: wait !important;
}
`)
}
/**
* Busy mode
* @param {Boolean} isBusy - Yes/No
*/
let setBusy = (isBusy) => {
console.debug('setBusy')
if (isBusy) {
document.querySelector('html').classList.add('busy')
} else {
document.querySelector('html').classList.remove('busy')
}
}
/**a
* Look for & Trigger "Antworten Einblenden"
*/
let enableAutoLoadCommentThreads = () => {
console.debug('enableAutoLoadCommentThreads')
// Click "Load More" / Show entire Playlist
querySelectorInterval(document.documentElement, cssSelector, (element) => {
// Show Spinner
setBusy(true)
// Click!
element.click()
// Hide Spinner
const timeout = setTimeout(() => {
setBusy(false)
clearTimeout(timeout)
}, 3000)
})
}
/**
* Init
*/
let init = () => {
console.info('init')
// Add Stylesheet
injectStylesheet()
// Enable Auto-Loading Comments
enableAutoLoadCommentThreads()
}
/**
* @listens window:Event#load
*/
window.addEventListener('load', () => {
console.debug('window#load')
init()
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment