11// ==UserScript==
22// @name 知乎增强
3- // @version 1.2.3
3+ // @version 1.2.4
44// @author X.I.U
55// @description 移除登录弹窗、一键收起回答、置顶显示时间、显示问题时间、区分问题文章、默认高清原图、默认站外直链
66// @match *://www.zhihu.com/*
1818// @namespace https://greasyfork.org/scripts/412205
1919// ==/UserScript==
2020
21- var menu_collapsedAnswer = GM_getValue ( 'xiu2_menu_collapsedAnswer' ) ;
22- var menu_publishTop = GM_getValue ( 'xiu2_menu_publishTop' ) ;
23- var menu_allTime = GM_getValue ( 'xiu2_menu_allTime' ) ;
24- var menu_typeTips = GM_getValue ( 'xiu2_menu_typeTips' ) ;
25- var menu_collapsedAnswer_ID , menu_publishTop_ID , menu_typeTips_ID , menu_allTime_ID , menu_feedBack_ID ;
21+ var menu_collapsedAnswer = GM_getValue ( 'xiu2_menu_collapsedAnswer' ) ,
22+ menu_publishTop = GM_getValue ( 'xiu2_menu_publishTop' ) ,
23+ menu_allTime = GM_getValue ( 'xiu2_menu_allTime' ) ,
24+ menu_typeTips = GM_getValue ( 'xiu2_menu_typeTips' ) ,
25+ menu_directLink = GM_getValue ( 'xiu2_menu_directLink' ) ,
26+ menu_collapsedAnswer_ID , menu_publishTop_ID , menu_typeTips_ID , menu_allTime_ID , menu_directLink_ID , menu_feedBack_ID ;
2627if ( menu_collapsedAnswer == null ) { menu_collapsedAnswer = true ; GM_setValue ( 'xiu2_menu_collapsedAnswer' , menu_collapsedAnswer ) } ;
2728if ( menu_publishTop == null ) { menu_publishTop = true ; GM_setValue ( 'xiu2_menu_publishTop' , menu_publishTop ) } ;
2829if ( menu_typeTips == null ) { menu_typeTips = true ; GM_setValue ( 'xiu2_menu_typeTips' , menu_typeTips ) } ;
2930if ( menu_allTime == null ) { menu_allTime = true ; GM_setValue ( 'xiu2_menu_allTime' , menu_allTime ) } ;
31+ if ( menu_directLink == null ) { menu_directLink = true ; GM_setValue ( 'xiu2_menu_directLink' , menu_directLink ) } ;
3032registerMenuCommand ( ) ;
3133
3234// 注册脚本菜单
3335function registerMenuCommand ( ) {
34- var menu_collapsedAnswer_ , menu_publishTop_ , menu_typeTips_ , menu_allTime_ ;
36+ var menu_collapsedAnswer_ , menu_publishTop_ , menu_typeTips_ , menu_allTime_ , menu_directLink_ ;
3537 if ( menu_feedBack_ID ) { // 如果反馈菜单ID不是 null,则删除所有脚本菜单
3638 GM_unregisterMenuCommand ( menu_collapsedAnswer_ID ) ;
3739 GM_unregisterMenuCommand ( menu_publishTop_ID ) ;
3840 GM_unregisterMenuCommand ( menu_typeTips_ID ) ;
41+ GM_unregisterMenuCommand ( menu_directLink_ID ) ;
3942 GM_unregisterMenuCommand ( menu_feedBack_ID ) ;
4043 menu_collapsedAnswer = GM_getValue ( 'xiu2_menu_collapsedAnswer' ) ;
4144 menu_publishTop = GM_getValue ( 'xiu2_menu_publishTop' ) ;
4245 menu_allTime = GM_getValue ( 'xiu2_menu_allTime' ) ;
4346 menu_typeTips = GM_getValue ( 'xiu2_menu_typeTips' ) ;
47+ menu_directLink = GM_getValue ( 'xiu2_menu_directLink' ) ;
4448 }
4549
4650 if ( menu_collapsedAnswer ) { menu_collapsedAnswer_ = "√" ; } else { menu_collapsedAnswer_ = "×" ; }
4751 if ( menu_publishTop ) { menu_publishTop_ = "√" ; } else { menu_publishTop_ = "×" ; }
4852 if ( menu_typeTips ) { menu_typeTips_ = "√" ; } else { menu_typeTips_ = "×" ; }
4953 if ( menu_allTime ) { menu_allTime_ = "√" ; } else { menu_allTime_ = "×" ; }
54+ if ( menu_directLink ) { menu_directLink_ = "√" ; } else { menu_directLink_ = "×" ; }
5055
5156 menu_collapsedAnswer_ID = GM_registerMenuCommand ( `[ ${ menu_collapsedAnswer_ } ] 一键收起回答` , function ( ) { menu_switch ( menu_collapsedAnswer , 'xiu2_menu_collapsedAnswer' , '一键收起回答' ) } ) ;
5257 menu_publishTop_ID = GM_registerMenuCommand ( `[ ${ menu_publishTop_ } ] 置顶显示时间` , function ( ) { menu_switch ( menu_publishTop , 'xiu2_menu_publishTop' , '置顶显示时间' ) } ) ;
5358 menu_publishTop_ID = GM_registerMenuCommand ( `[ ${ menu_allTime_ } ] 完整显示时间` , function ( ) { menu_switch ( menu_allTime , 'xiu2_menu_allTime' , '完整显示时间' ) } ) ;
5459 menu_typeTips_ID = GM_registerMenuCommand ( `[ ${ menu_typeTips_ } ] 区分问题文章` , function ( ) { menu_switch ( menu_typeTips , 'xiu2_menu_typeTips' , '区分问题文章' ) } ) ;
60+ menu_directLink_ID = GM_registerMenuCommand ( `[ ${ menu_directLink_ } ] 默认站外直链` , function ( ) { menu_switch ( menu_directLink , 'xiu2_menu_directLink' , '默认站外直链' ) } ) ;
5561 menu_feedBack_ID = GM_registerMenuCommand ( '反馈 & 建议' , function ( ) { window . GM_openInTab ( 'https://github.com/XIU2/UserScript#xiu2userscript' , { active : true , insert : true , setParent : true } ) ; } ) ;
5662}
5763
@@ -288,6 +294,7 @@ function directLink () {
288294 else if ( $ ( this ) . attr ( "href" ) . indexOf ( "link.zhihu.com/?target=" ) > - 1 ) {
289295 external_href = $ ( this ) . attr ( "href" ) ;
290296 new_href = external_href . substring ( external_href = $ ( this ) . attr ( "href" ) . indexOf ( "link.zhihu.com/?target=" ) + "link.zhihu.com/?target=" . length ) ;
297+ console . log ( `${ new_href } ` )
291298 $ ( this ) . attr ( "href" , decodeURIComponent ( new_href ) ) ;
292299 }
293300 else {
@@ -470,36 +477,36 @@ function EventXMLHttpRequest() {
470477 }
471478 } )
472479
473- setInterval ( originalPic , 100 ) ; // 默认高清原图
474- setInterval ( directLink , 100 ) ; // 默认站外直链
480+ setInterval ( originalPic , 100 ) ; // 默认高清原图
481+ if ( menu_directLink ) setInterval ( directLink , 100 ) ; // 默认站外直链
475482
476483 //每个页面对应的功能函数
477- if ( window . location . href . indexOf ( "question" ) > - 1 ) { // 回答页 //
484+ if ( window . location . href . indexOf ( "question" ) > - 1 ) { // 回答页 //
478485 if ( window . location . href . indexOf ( "waiting" ) == - 1 ) {
479- collapsedAnswer ( ) ; // 一键收起回答
486+ collapsedAnswer ( ) ; // 一键收起回答
480487 }
481- setInterval ( topTime_question , 300 ) ; // 置顶显示时间
482- } else if ( window . location . href . indexOf ( "search" ) > - 1 ) { // 搜索结果页 //
483- collapsedAnswer ( ) ; // 一键收起回答
484- setInterval ( topTime_search , 300 ) ; // 置顶显示时间
485- EventXMLHttpRequest ( ) ; // 区分问题文章
486- } else if ( window . location . href . indexOf ( "topic" ) > - 1 ) { // 话题页 //
488+ setInterval ( topTime_question , 300 ) ; // 置顶显示时间
489+ } else if ( window . location . href . indexOf ( "search" ) > - 1 ) { // 搜索结果页 //
490+ collapsedAnswer ( ) ; // 一键收起回答
491+ setInterval ( topTime_search , 300 ) ; // 置顶显示时间
492+ EventXMLHttpRequest ( ) ; // 区分问题文章
493+ } else if ( window . location . href . indexOf ( "topic" ) > - 1 ) { // 话题页 //
487494 if ( window . location . href . indexOf ( "unanswered" ) == - 1 ) {
488- collapsedAnswer ( ) ; // 一键收起回答
489- setInterval ( topTime_search , 300 ) ; // 置顶显示时间
490- EventXMLHttpRequest ( ) ; // 区分问题文章
495+ collapsedAnswer ( ) ; // 一键收起回答
496+ setInterval ( topTime_search , 300 ) ; // 置顶显示时间
497+ EventXMLHttpRequest ( ) ; // 区分问题文章
491498 }
492- } else if ( window . location . href . indexOf ( "zhuanlan" ) > - 1 ) { // 文章 //
493- setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
494- } else if ( window . location . href . indexOf ( "column" ) > - 1 ) { // 专栏 //
495- collapsedAnswer ( ) ; // 一键收起回答
496- setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
499+ } else if ( window . location . href . indexOf ( "zhuanlan" ) > - 1 ) { // 文章 //
500+ setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
501+ } else if ( window . location . href . indexOf ( "column" ) > - 1 ) { // 专栏 //
502+ collapsedAnswer ( ) ; // 一键收起回答
503+ setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
497504 } else if ( window . location . href . indexOf ( "people" ) > - 1 || window . location . href . indexOf ( "org" ) > - 1 ) { // 用户主页 //
498- collapsedAnswer ( ) ; // 一键收起回答
499- setInterval ( topTime_people , 300 ) ; // 置顶显示时间
500- } else { // 首页 //
501- collapsedAnswer ( ) ; // 一键收起回答
502- setInterval ( topTime_index , 300 ) ; // 置顶显示时间
503- EventXMLHttpRequest ( ) ; // 区分问题文章
505+ collapsedAnswer ( ) ; // 一键收起回答
506+ setInterval ( topTime_people , 300 ) ; // 置顶显示时间
507+ } else { // 首页 //
508+ collapsedAnswer ( ) ; // 一键收起回答
509+ setInterval ( topTime_index , 300 ) ; // 置顶显示时间
510+ EventXMLHttpRequest ( ) ; // 区分问题文章
504511 }
505512} ) ( ) ;
0 commit comments