您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removes the cruft from the new zerohedge
- // ==UserScript==
- // @name ZeroCruft
- // @version 2017.01.17
- // @namespace 1bae28cfed0eddb302b3ac9b578412a3
- // @author Dan Garthwaite <dan@garthwaite.org>
- // @description Removes the cruft from the new zerohedge
- // @include https://*zerohedge.com/*
- // @run-at document-end
- // @require https://code.jquery.com/jquery-2.1.4.min.js
- // ==/UserScript==
- (function() {
- 'use strict';
- document.getElementsByClassName('sidebar-left-wrapper')[0].remove();
- document.getElementsByClassName('sidebar-right-wrapper')[0].remove();
- var articles = document.querySelectorAll('#block-zerohedge-content .view-articles .views-row');
- // Delete all '.custom-flex' nodes even if added dynamically
- document.body.addEventListener('DOMSubtreeModified', function(event) {
- var elements = document.getElementsByClassName('ad-mobile-frontpage');
- while (elements.length > 0) elements[0].remove();
- elements = document.getElementsByClassName('custom-flex');
- while (elements.length > 0) elements[0].remove();
- articles = document.querySelectorAll('#block-zerohedge-content .view-articles .views-row');
- });
- /* Do jk navigation */
- document.querySelector('head').innerHTML += '<style>.jk-current {outline: 1px solid navy;}</style>';
- const jk = function(inc) {
- if (!articles.length) { return;}
- for (var i = 0, len = articles.length; i <= len; i++) {
- if (articles[i].classList.contains('jk-current')) {
- var next = (i + inc) % len;
- next = (next > 0) ? next : 0;
- articles[i].classList.toggle('jk-current');
- articles[next].classList.toggle('jk-current');
- break;
- }
- }
- };
- var foundSticky = false;
- for (var i=0, len=articles.length; i<len; i++) {
- var article = articles[i];
- if (!foundSticky && article.firstElementChild.classList.contains('node--sticky')) {
- article.className += ' jk-current';
- jk(i);
- foundSticky = true;
- break;
- }
- }
- if (!foundSticky) {
- articles[0].className += ' jk-current';
- jk(0);
- }
- var open_article = function() {
- $(".jk-current").find('a')[0].click();
- };
- const keyDownTextField = function (event) {
- // empty article list or keypresses in input fields
- if (document.activeElement.tagName == 'INPUT' || articles.length === 0) {
- return;
- }
- let key = String.fromCharCode(event.which).toUpperCase();
- if (event.which == "13")
- key = "13";
- switch (key) {
- case "J":
- case " ":
- jk(1);
- break;
- case "K":
- jk(-1);
- break;
- case "O":
- case "13":
- open_article();
- break;
- }
- //scroll .jk-current to top of window
- var current = $(".jk-current");
- if (current) {
- $('html, body').animate({
- scrollTop: $(".jk-current").offset().top - 100
- }, 200);
- } else {
- console.log('No jk-current found');
- }
- };
- document.addEventListener("keydown", keyDownTextField, false);
- })();