11// ==UserScript==
22// @name 知乎增强
3- // @version 1.1.1
3+ // @version 1.1.2
44// @author X.I.U
55// @description 一键收起回答、置顶显示时间、区分问题文章
66// @include *://www.zhihu.com/*
@@ -268,17 +268,19 @@ function addTypeTips() {
268268 // URL 匹配正则表达式
269269 var patt_zhuanlan = / z h u a n l a n .z h i h u .c o m / ,
270270 patt_question = / q u e s t i o n \/ \d + / ,
271+ patt_video = / \/ z v i d e o \/ / ,
271272 patt_tip = / z h i h u _ e _ t i p s /
272- var postList = document . querySelectorAll ( 'a[data-za-detail-view-id] ' ) ;
273+ var postList = document . querySelectorAll ( 'h2.ContentItem-title a ' ) ;
273274 postNum = document . querySelectorAll ( 'small.zhihu_e_tips' ) ;
274- //console.log(`${postList.length} ${postNum.length}`);
275275 if ( postList . length > postNum . length ) {
276276 for ( var num = postNum . length ; num < postList . length ; num ++ ) {
277- if ( ! patt_tip . test ( postList [ num ] . innerHTML ) ) { // 判断是否已添加
277+ if ( ! patt_tip . test ( postList [ num ] . innerHTML ) ) { // 判断是否已添加
278278 if ( patt_zhuanlan . test ( postList [ num ] . href ) ) { // 如果是文章
279- postList [ num ] . innerHTML = `<small class="zhihu_e_tips" style="color: #ffffff;font-weight: normal;font-size: 12px;padding: 0 3px;border-radius: 2px;background-color: #0084ff ;display: inline-block;height: 18px;">文章</small> ` + postList [ num ] . innerHTML
279+ postList [ num ] . innerHTML = `<small class="zhihu_e_tips" style="color: #ffffff;font-weight: normal;font-size: 12px;padding: 0 3px;border-radius: 2px;background-color: #2196F3 ;display: inline-block;height: 18px;">文章</small> ` + postList [ num ] . innerHTML
280280 } else if ( patt_question . test ( postList [ num ] . href ) ) { // 如果是问题
281- postList [ num ] . innerHTML = `<small class="zhihu_e_tips" style="color: #ffffff;font-weight: normal;font-size: 12px;padding: 0 3px;border-radius: 2px;background-color: #fd7672;display: inline-block;height: 18px;">问题</small> ` + postList [ num ] . innerHTML
281+ postList [ num ] . innerHTML = `<small class="zhihu_e_tips" style="color: #ffffff;font-weight: normal;font-size: 12px;padding: 0 3px;border-radius: 2px;background-color: #f68b83;display: inline-block;height: 18px;">问题</small> ` + postList [ num ] . innerHTML
282+ } else if ( patt_video . test ( postList [ num ] . href ) ) { // 如果是视频
283+ postList [ num ] . innerHTML = `<small class="zhihu_e_tips" style="color: #ffffff;font-weight: normal;font-size: 12px;padding: 0 3px;border-radius: 2px;background-color: #00BCD4;display: inline-block;height: 18px;">视频</small> ` + postList [ num ] . innerHTML
282284 }
283285 //postNum += 1;
284286 }
@@ -318,22 +320,27 @@ function addTypeTips() {
318320 setInterval ( originalPic , 100 )
319321
320322 //每个页面对应的功能函数
321- if ( window . location . href . indexOf ( "question" ) > - 1 ) { // 回答页
323+ if ( window . location . href . indexOf ( "question" ) > - 1 ) { // 回答页 //
322324 if ( window . location . href . indexOf ( "waiting" ) == - 1 ) {
323- collapsedAnswer ( ) ; // 一键收起回答
325+ collapsedAnswer ( ) ; // 一键收起回答
324326 }
325- setInterval ( topTime_question , 300 ) ; // 置顶显示时间
326- } else if ( window . location . href . indexOf ( "search" ) > - 1 ) { // 搜索结果页
327- collapsedAnswer ( ) ; // 一键收起回答
328- setInterval ( topTime_search , 300 ) ; // 置顶显示时间
329- } else if ( window . location . href . indexOf ( "zhuanlan" ) > - 1 ) { // 专栏/文章
330- setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
331- } else if ( window . location . href . indexOf ( "people" ) > - 1 || window . location . href . indexOf ( "org" ) > - 1 ) { // 用户主页
332- collapsedAnswer ( ) ; // 一键收起回答
333- setInterval ( topTime_people , 300 ) ; // 置顶显示时间
334- } else { // 首页
335- collapsedAnswer ( ) ; // 一键收起回答
336- setInterval ( topTime_index , 300 ) ; // 置顶显示时间
337- setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
327+ setInterval ( topTime_question , 300 ) ; // 置顶显示时间
328+ } else if ( window . location . href . indexOf ( "search" ) > - 1 ) { // 搜索结果页 //
329+ collapsedAnswer ( ) ; // 一键收起回答
330+ setInterval ( topTime_search , 300 ) ; // 置顶显示时间
331+ setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
332+ } else if ( window . location . href . indexOf ( "topic" ) > - 1 ) { // 话题页 //
333+ collapsedAnswer ( ) ; // 一键收起回答
334+ setInterval ( topTime_search , 300 ) ; // 置顶显示时间
335+ setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
336+ } else if ( window . location . href . indexOf ( "zhuanlan" ) > - 1 ) { // 专栏/文章 //
337+ setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
338+ } else if ( window . location . href . indexOf ( "people" ) > - 1 || window . location . href . indexOf ( "org" ) > - 1 ) { // 用户主页 //
339+ collapsedAnswer ( ) ; // 一键收起回答
340+ setInterval ( topTime_people , 300 ) ; // 置顶显示时间
341+ } else { // 首页 //
342+ collapsedAnswer ( ) ; // 一键收起回答
343+ setInterval ( topTime_index , 300 ) ; // 置顶显示时间
344+ setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
338345 }
339346} ) ( ) ;
0 commit comments