您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Want to show Meetup.com events on a screen 24/7? Use this script to make it look better. NOTE: if the script doesn't load, try going directly to the events url instead of browsing to it.
当前为
// ==UserScript== // @name Kioskify Meetup.com Events // @version 3 // @grant none // @run-at document-start // @match https://*.meetup.com/*events* // @license GNU General Public License v3.0 only // @supportURL https://gitlab.com/zyphlar/kioskify-meetup-events // @contributionURL https://gitlab.com/zyphlar/kioskify-meetup-events // @compatible firefox // @compatible chrome // @namespace https://gf.qytechs.cn/users/236588 // @description Want to show Meetup.com events on a screen 24/7? Use this script to make it look better. NOTE: if the script doesn't load, try going directly to the events url instead of browsing to it. // ==/UserScript== // Copyright (C) 2019 zyphlar // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. "use strict"; function simplifyMeetup(){ console.log("Simplifying your life..."); //hideElementsByClassName("groupHomeHeader"); // large group name and image at top hideElementsByClassName("stripe"); // all full-width "chrome" on page hideElementsByClassName("sticky-ontheside"); // upcoming/past/drafts widget hideElementsByClassName("relatedEvents"); // other events at far bottom // add padding to top for scroll try { var padding = document.createElement("p"); padding.style = "margin:400px"; document.getElementsByClassName("eventList-list")[0].prepend(padding); } catch (e) { console.log(e); } // add banner to header try { document.getElementsByClassName("navItem")[0].innerHTML += '<h3 style="display: inline-block;margin-left: 8em;font-size: 1.5em;vertical-align: top;">Upcoming Events</h3>'; } catch (e) { console.log(e); } // make header fixed try { document.getElementById("globalNav").style = "position: fixed; width: 100%;"; } catch (e) { console.log(e); } // add fixed footer try { var footer = document.createElement("div"); footer.style = "position:fixed; bottom: 0; width: 100%; background: white; padding: 1em; border-top: 2px solid rgba(46,62,72,.12); text-align: center;"; footer.innerHTML = "See details at <span style='color: #00a2c7;font-weight: 600;'>ChimeraArts.org</span> or <span style='color: #00a2c7;font-weight: 600;'>Meetup.com</span>!"; document.getElementsByTagName("body")[0].append(footer); } catch (e) { console.log(e); } } function hideElementById(id) { var e = document.getElementById(id); if (e) { e.style = "display: none;"; } } function hideElementsByClassName(name) { var e = document.getElementsByClassName(name); for (var i=0;i<e.length;i++) { e[i].style = "display: none;"; } } function hideElementsBySelector(selector) { var f = document.querySelectorAll(selector); for (var i=0;i<f.length;i++) { f[i].style = "display: none;"; } } function scrollMeetup(){ var pixelsToScroll = document.documentElement.offsetHeight; var pixelsPerSec = 100; // go to bottom slowly scrollToY(pixelsToScroll, pixelsPerSec, 'linearTween', function(){ // return to top quickly scrollToY(0, 1000, 'linearTween', function(){ scrollMeetup(); // set up dat sweet infinite loop }); }); } window.requestAnimFrame = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function( callback ){ window.setTimeout(callback, 1000 / 60); }; })(); function scrollToY(scrollTargetY, speed, easing, callback) { // scrollTargetY: the target scrollY property of the window // speed: time in pixels per second // easing: easing equation to use var scrollY = window.scrollY || document.documentElement.scrollTop, scrollTargetY = scrollTargetY || 0, speed = speed || 2000, easing = easing || 'easeOutSine', currentTime = 0; // min time .1, max time 60 minutes var time = Math.max(.1, Math.min(Math.abs(scrollY - scrollTargetY) / speed, 60000)); // easing equations from https://github.com/danro/easing-js/blob/master/easing.js var easingEquations = { linearTween: function (pos) { return pos; }, easeOutSine: function (pos) { return Math.sin(pos * (Math.PI / 2)); }, easeInOutSine: function (pos) { return (-0.5 * (Math.cos(Math.PI * pos) - 1)); }, easeInOutQuint: function (pos) { if ((pos /= 0.5) < 1) { return 0.5 * Math.pow(pos, 5); } return 0.5 * (Math.pow((pos - 2), 5) + 2); } }; console.log('scroll begin'); // add animation loop function tick() { currentTime += 1 / 60; var p = currentTime / time; var t = easingEquations[easing](p); if (p < 1) { requestAnimFrame(tick); window.scrollTo(0, scrollY + ((scrollTargetY - scrollY) * t)); } else { console.log('scroll done'); window.scrollTo(0, scrollTargetY); callback(); } } // call it once to get started tick(); } window.addEventListener("load", function(){ simplifyMeetup(); // clear extra stuff document.scrollingElement.scrollTop = 0; // reset to top scrollMeetup(); // begin scroll }); //window.addEventListener("complete", simplifyMeetup); setTimeout(function(){ location.reload(); }, 3600000); // reload page every hour
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址