// ==UserScript== // @name 知乎屏蔽弹出登录框,不影响正常登录,回答,关注,收藏等 // @namespace http://tampermonkey.net/?zhihu-no-modal // @version 0.1 // @description 屏蔽后自动停止监听,不浪费一丝资源;屏蔽前不影响手动点击,真正随心所欲。 // @author Wilson // @icon https://static.zhihu.com/static/favicon.ico // @match *://www.zhihu.com/question/* // @downloadURL none // ==/UserScript== (function() { 'use strict'; //maxShow可以设置允许弹出几次,目前发现仅弹出1次,如果发现有2次弹出的情况,这里的maxShow设置为2即可 var hideLogin = true, hideCount=0, maxShow = 1; //监听弹窗出现 var DOMNodeInsertedEvent = function(e){ if(!hideLogin || e.target.nodeType !== 1) return; var signFlowModal = e.target.getElementsByClassName('signFlowModal'); if(signFlowModal.length!==0){ for(var i in signFlowModal) if(signFlowModal[i] && signFlowModal[i].previousElementSibling) signFlowModal[i].previousElementSibling.click(); hideCount++; } //超过弹出限制取消监听事件,以节省资源 if(hideCount >= maxShow){ document.body.removeEventListener('DOMNodeInserted', DOMNodeInsertedEvent, false); document.body.removeEventListener('click', DOMClickEvent, false); } } document.body.addEventListener('DOMNodeInserted', DOMNodeInsertedEvent, false); //监听手动点击事件 var DOMClickEvent = function(){ hideLogin = false; setTimeout(function(){hideLogin = true;}, 100); } document.body.addEventListener('click', DOMClickEvent, false); })();