Greasy Fork

Greasy Fork is available in English.

知乎 显示匿名按钮、查看问题日志按钮、快捷键帮助按钮

显示匿名按钮、查看问题日志按钮、快捷键帮助按钮

当前为 2020-05-09 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         知乎 显示匿名按钮、查看问题日志按钮、快捷键帮助按钮
// @namespace    http://tampermonkey.net/
// @version      0.6
// @description  显示匿名按钮、查看问题日志按钮、快捷键帮助按钮
// @author       AN drew
// @match        https://www.zhihu.com/question/*
// @require      https://code.jquery.com/jquery-3.1.1.min.js
// @grant        none
// ==/UserScript==

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"> &nbsp;匿名</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">&nbsp;&nbsp;查看问题日志</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"> &nbsp;快捷键帮助</span></button>';
    var $shortcut = $(s)
    $shortcut.click(function(){
            $(".Modal-wrapper").show()
        });
    $QuestionHeaderActions.append($shortcut)

}

function addBtn()
{
    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>')


    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)
        }
    }
    else //未登录
    {
        $child4.attr("style","display:none")

        if($child5.length == 0) //未添加查看问题日志
        {
            addLog($QuestionHeaderActions)
        }
        if($child6.length == 0) //未添加查看键盘快捷键
        {
            addShortCut($QuestionHeaderActions)
        }
    }

    $(".Pc-card.Card").attr("style","display:none")
}



(function() {
    'use strict';

    $(".Card.ViewAll").attr("style","background-color:#0084FF")
    $(".QuestionMainAction.ViewAll-QuestionMainAction").attr("style","color:white")
    setInterval(addBtn, 300);

    // Your code here...
})();