您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
显示匿名按钮、查看问题日志按钮、快捷键帮助按钮、知乎跳转改为直链
当前为
// ==UserScript== // @name 知乎 显示匿名按钮、查看问题日志按钮、快捷键帮助按钮、知乎跳转改为直链 // @namespace http://tampermonkey.net/ // @version 0.8.3 // @description 显示匿名按钮、查看问题日志按钮、快捷键帮助按钮、知乎跳转改为直链 // @author AN drew // @match https://www.zhihu.com/* // @match https://zhuanlan.zhihu.com/p/* // @require https://code.jquery.com/jquery-3.1.1.min.js // @grant none // ==/UserScript== var $hint =$('<div>'+ ' <div>'+ ' <div>'+ ' <div class="Modal-wrapper Modal-enter-done">'+ ' <div class="Modal-backdrop"></div>'+ ' <div class="Modal Modal--default ShortcutHintModal" tabindex="0">'+ ' <div class="Modal-inner">'+ ' <h3 class="Modal-title">快捷键帮助</h3>'+ ' <div class="Modal-content">'+ ' <div class="ShortcutHintModal-content">'+ ' <div class="ShortcutHintModal-hintListContainer">'+ ' <div class="ShortcutHintModal-hintList">'+ ' <div class="ShortcutHintModal-hintTitle">'+ ' 操作'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">V</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :赞同'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">D</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :反对'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">L</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :喜欢'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">C</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :展开 / 收起评论'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">Shift</kbd>'+ ' <div class="KeyHint-separator">'+ ' +'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">C</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :聚焦到评论框'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">O</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :展开 / 收起全文'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">S</kbd>'+ ' <div class="KeyHint-separator KeyHint-separator--space"> '+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">C</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :收藏'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">F</kbd>'+ ' <div class="KeyHint-separator KeyHint-separator--space"> '+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">X</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :分享'+ ' </div>'+ ' </div>'+ ' </div>'+ ' <div class="ShortcutHintModal-hintList">'+ ' <div class="ShortcutHintModal-hintTitle">'+ ' 导航'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">J</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :下一项'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">K</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :上一项'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">G</kbd>'+ ' <div class="KeyHint-separator KeyHint-separator--space"> '+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">G</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :第一项'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">Shift</kbd>'+ ' <div class="KeyHint-separator">'+ ' +'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">G</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :最后一项'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">Shift</kbd>'+ ' <div class="KeyHint-separator">'+ ' +'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">U</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :向上滚动半屏'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">Shift</kbd>'+ ' <div class="KeyHint-separator">'+ ' +'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">D</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :向下滚动半屏'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">/</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :搜索'+ ' </div>'+ ' </div>'+ ' <div class="KeyHint">'+ ' <div class="KeyHint-keyContainer">'+ ' <div class="KeyHint-key">'+ ' <kbd class="KeyHint-kbd">?</kbd>'+ ' </div>'+ ' </div>'+ ' <div>'+ ' :快捷键帮助'+ ' </div>'+ ' </div>'+ ' </div>'+ ' </div>'+ ' </div>'+ ' </div>'+ ' </div>'+ ' <button aria-label="关闭" type="button" class="Button Modal-closeButton Button--plain">'+ ' <svg class="Zi Zi--Close Modal-closeIcon" fill="currentColor" viewbox="0 0 24 24" width="24" height="24">'+ ' <path d="M13.486 12l5.208-5.207a1.048 1.048 0 0 0-.006-1.483 1.046 1.046 0 0 0-1.482-.005L12 10.514 6.793 5.305a1.048 1.048 0 0 0-1.483.005 1.046 1.046 0 0 0-.005 1.483L10.514 12l-5.208 5.207a1.048 1.048 0 0 0 .006 1.483 1.046 1.046 0 0 0 1.482.005L12 13.486l5.207 5.208a1.048 1.048 0 0 0 1.483-.006 1.046 1.046 0 0 0 .005-1.482L13.486 12z" fill-rule="evenodd"></path>'+ ' </svg></button>'+ ' </div>'+ ' </div>'+ ' </div>'+ ' </div>'+ '</div>') function addAnonymous($QuestionHeaderActions,$child5) { var a ='<button type ="button" style="vertical-align:middle" class = "Button Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:middle;" src="https://gitee.com/AN_drew/picBed/raw/master/img/mask.svg"> 匿名</span></button>'; var $anonymous = $(a) $anonymous.bind("click",function(){ $child5.find("button").click(); $(".Menu.QuestionHeader-menu > button").click(); }) $QuestionHeaderActions.append($anonymous) } function addLog($QuestionHeaderActions) { var url = window.location.href; var end,href; if(url.indexOf("answer")>-1) { end=url.indexOf("answer") href = url.substring(0,end); } else { href=url+"/" } var L='<a href="'+href+'log" target="_self" type="button" class="Button Menu-item QuestionHeader-menu-item Button--plain"><img style ="vertical-align:middle;" src="https://gitee.com/AN_drew/picBed/raw/master/img/log.svg"> 查看问题日志</a>' var $log = $(L); var $Popover = $('<div class="Popover" style ="vertical-align:middle;margin-left:0px"></div>') $Popover.append($log) $QuestionHeaderActions.append($Popover) } function addShortCut($QuestionHeaderActions) { var s ='<button type ="button" style="vertical-align:middle; margin-left:0px" class = "Button Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:middle;" src="https://gitee.com/AN_drew/picBed/raw/master/img/keyboard.svg"> 快捷键帮助</span></button>'; var $shortcut = $(s) $shortcut.click(function(){ $(".Modal-wrapper").show() }); $QuestionHeaderActions.append($shortcut) } function addReport1($more) { $more.hide() var r ='<button type ="button" style="vertical-align:middle;margin-left:20px" class = "Button Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:-5%;" src="https://gitee.com/AN_drew/picBed/raw/master/img/report.svg"> 举报</span></button>'; var $report = $(r) $report.bind("click",function(){ $more.find("button").click(); $(".Menu.AnswerItem-selfMenu").find("button").click(); }) $more.after($report) } function question() { if($(".Modal-wrapper").length==0) { $(document.body).append($hint) $(".Modal-wrapper").hide() $(".Modal-closeButton").click(function(){ $(".Modal-wrapper").hide() }) } var $QuestionHeaderActions = $("div.QuestionHeaderActions") var $child4 = $QuestionHeaderActions.children().eq(4-1) var $child5 = $QuestionHeaderActions.children().eq(5-1) var $child6 = $QuestionHeaderActions.children().eq(6-1) var $child7 = $QuestionHeaderActions.children().eq(7-1) var $child8 = $QuestionHeaderActions.children().eq(8-1) if($child4.length>0 && $child4.text().indexOf("举报")> -1) //已登录(不可用) { $child5.attr("style","display:none") if($child6.length == 0) //未添加匿名 { addAnonymous($QuestionHeaderActions,$child5) } if($child7.length == 0) //未添加查看问题日志 { addLog($QuestionHeaderActions) } if($child8.length == 0) //未添加快捷键帮助 { addShortCut($QuestionHeaderActions) } var $ContentItem_actions = $(".ContentItem-actions") $ContentItem_actions.each(function(){ var $Content_child5 = $(this).children().eq(5-1) var $Content_child6 = $(this).children().eq(6-1) var $Content_child7 = $(this).children().eq(7-1) if($Content_child5.length>0 && $Content_child5.text().indexOf("喜欢")==-1) { return true; } else if($Content_child7.length==0 || $Content_child7.text().indexOf("举报")==-1 ) //未添加举报 { addReport1($Content_child6) } }) } else //未登录(不可用) { $child4.attr("style","display:none") if($child5.length == 0) //未添加查看问题日志 { addLog($QuestionHeaderActions) } if($child6.length == 0) //未添加快捷键帮助 { addShortCut($QuestionHeaderActions) } } $(".ContentItem-time").each(function(){ if($(this).text().indexOf("发布于")==-1) { var data_tooltip = $(this).find("span").attr("data-tooltip"); var oldtext = $(this).find("span").text(); $(this).find("span").text(data_tooltip+"\xa0\xa0,\xa0\xa0"+oldtext); } }) $(".Pc-card.Card").attr("style","display:none") $(".Card.ViewAll").attr("style","background-color:#0084FF") $(".QuestionMainAction.ViewAll-QuestionMainAction").attr("style","color:white") } function directLink() { var equal,colon,external_href,protocol,path,new_href; $("a[class*='external']").each(function(){ if($(this).find("span").length>0) { new_href = $(this).text() $(this).attr("href",decodeURIComponent(new_href)) } else if($(this).attr("href").indexOf("https://link.zhihu.com/?target=") > -1) { external_href=$(this).attr("href") equal = external_href.lastIndexOf("http") colon = external_href.lastIndexOf("%3A") protocol = external_href.substring(equal,colon) path = external_href.substring(colon+5,external_href.length) new_href = protocol+"://"+path $(this).attr("href",decodeURIComponent(new_href)) } }) $("a[class*='LinkCard']").each(function(){ console.log($(this).find("LinkCard-title").get(0)) if($(this).find("LinkCard-title").length>0 && $(this).find("LinkCard-title").indexOf("http")>-1 ) { new_href = $(this).find("LinkCard-title").text() $(this).attr("href",decodeURIComponent(new_href)) } else if($(this).attr("href").indexOf("https://link.zhihu.com/?target=") > -1) { external_href=$(this).attr("href") equal = external_href.lastIndexOf("http") colon = external_href.lastIndexOf("%3A") protocol = external_href.substring(equal,colon) path = external_href.substring(colon+5,external_href.length) new_href = protocol+"://"+path $(this).attr("href",decodeURIComponent(new_href)) } }) $(".TopstoryItem--advertCard").hide() } function addReport2($more) { $more.hide() var r ='<button type ="button" style="vertical-align:middle;margin-left:20px" class = "Button Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:-5%;" src="https://gitee.com/AN_drew/picBed/raw/master/img/report.svg"> 举报</span></button>'; var $report = $(r) $report.bind("click",function(){ $more.find("button").click(); $(".Menu.Post-ActionMenu").find("button").click(); }) $more.after($report) } function zhuanlan() { $(".Recommendations-Main").hide() var $ContentItem_actions = $(".ContentItem-actions") var $child5 = $ContentItem_actions.children().eq(5-1) var $child6 = $ContentItem_actions.children().eq(6-1) if($child6.length == 0) //未添加举报 { addReport2($child5) } } function zvideo() { $(".ZVideo-sideColumn").hide() } function addReport3($more) { $more.hide() var r ='<button class="ClubJoinOrCheckinButton" style="margin-right:20px"><img src="https://gitee.com/AN_drew/picBed/raw/master/img/exit.svg"/><span style="color:red"> 退出圈子</span></button>'; var $report = $(r) $report.bind("click",function(){ $more.find("button").click(); $(".ClubHeaderInfoMoreButton-item").click(); }) $more.after($report) } function addReport4($more) { $more.hide() var r ='<button type ="button" style="vertical-align:middle;margin-left:20px" class = "Button PostWebActionButtons-comment Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:-5%;" src="https://gitee.com/AN_drew/picBed/raw/master/img/report.svg"> 举报</span></button>'; var $report = $(r) $report.bind("click",function(){ $more.find("button").click(); $(".PostWebActionButtons-item").click(); }) $more.after($report) } function club() { var $ClubHeaderInfo_buttonGroup = $(".ClubHeaderInfo-buttonGroup") var $child1 = $ClubHeaderInfo_buttonGroup.children().eq(1-1) var $child2 = $ClubHeaderInfo_buttonGroup.children().eq(2-1) if($child2.length > 0 && $child2.text().indexOf("签到") > -1 && $child2.text().indexOf("加入") == -1) //未添加举报 { addReport3($child1) } $(".PostReaction").each(function(){ var post_child4 = $(this).children().eq(4-1) var post_child5 = $(this).children().eq(5-1) if(post_child5.length==0 || post_child5.text().indexOf("举报")==-1 ) //未添加举报 { addReport4(post_child4) } }) } function addReport5($more) { $more.hide() var r ='<button type ="button" style="vertical-align:middle;margin-left:20px" class = "Button Button--plain Button--withIcon Button--withLabel"> <span style = "vertical-align:middle; align-items: center;" > <img style = "vertical-align:-5%;" src="https://gitee.com/AN_drew/picBed/raw/master/img/report.svg"> 举报</span></button>'; var $report = $(r) $report.bind("click",function(){ $more.find("button").click(); $(".AnswerItem-selfMenu").children().eq(1).click(); }) $more.after($report) } function search() { $(".ContentItem-actions").each(function(){ var $child6 = $(this).children().eq(6-1) var $child7 = $(this).children().eq(7-1) console.log($child6) console.log($child7) if($child7.text().indexOf("收起") > -1) { addReport5($child6) } }) } function lives() { $("[class*='LiveWechatSpread']").remove() } function collection() { $(".ContentItem-actions").each(function(){ var $child6 = $(this).children().eq(6-1) var $child7 = $(this).children().eq(7-1) console.log($child6) console.log($child7) if($child7.length==0 || $child7.text().indexOf("收起") > -1) { addReport5($child6) } }) } (function() { 'use strict'; setInterval(directLink,100) if(window.location.href.indexOf("question") > -1) setInterval(question, 300); else if(window.location.href.indexOf("zvideo") > -1) setInterval(zvideo, 300); else if(window.location.href.indexOf("club") > -1) setInterval(club, 300); else if(window.location.href.indexOf("search") > -1) setInterval(search, 300); else if(window.location.href.indexOf("lives") > -1) setInterval(lives, 300); else if(window.location.href.indexOf("collection") > -1) setInterval(collection, 300); else if(window.location.href.indexOf("zhuanlan") > -1) setInterval(zhuanlan, 300); // Your code here... })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址