11// ==UserScript==
22// @name 知乎增强
3- // @version 1.1.3
3+ // @version 1.1.4
44// @author X.I.U
55// @description 一键收起回答、置顶显示时间、区分问题文章
66// @match *://www.zhihu.com/*
@@ -272,6 +272,7 @@ function addTypeTips() {
272272 patt_tip = / z h i h u _ e _ t i p s /
273273 var postList = document . querySelectorAll ( 'h2.ContentItem-title a' ) ;
274274 postNum = document . querySelectorAll ( 'small.zhihu_e_tips' ) ;
275+ console . log ( `${ postList . length } ${ postNum . length } ` )
275276 if ( postList . length > postNum . length ) {
276277 for ( var num = postNum . length ; num < postList . length ; num ++ ) {
277278 if ( ! patt_tip . test ( postList [ num ] . innerHTML ) ) { // 判断是否已添加
@@ -289,6 +290,17 @@ function addTypeTips() {
289290 }
290291}
291292
293+ // 监听 XMLHttpRequest 事件
294+ function EventXMLHttpRequest ( ) {
295+ var _send = window . XMLHttpRequest . prototype . send
296+ function sendReplacement ( data ) {
297+ addTypeTips ( ) ;
298+ return _send . apply ( this , arguments ) ;
299+ }
300+ window . XMLHttpRequest . prototype . send = sendReplacement ;
301+ }
302+
303+
292304( function ( ) {
293305 //折叠谢邀
294306 let timer = setInterval ( function ( ) {
@@ -328,12 +340,12 @@ function addTypeTips() {
328340 } else if ( window . location . href . indexOf ( "search" ) > - 1 ) { // 搜索结果页 //
329341 collapsedAnswer ( ) ; // 一键收起回答
330342 setInterval ( topTime_search , 300 ) ; // 置顶显示时间
331- setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
343+ EventXMLHttpRequest ( ) ; // 区分问题文章
332344 } else if ( window . location . href . indexOf ( "topic" ) > - 1 ) { // 话题页 //
333345 if ( window . location . href . indexOf ( "unanswered" ) == - 1 ) {
334346 collapsedAnswer ( ) ; // 一键收起回答
335347 setInterval ( topTime_search , 300 ) ; // 置顶显示时间
336- setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
348+ EventXMLHttpRequest ( ) ; // 区分问题文章
337349 }
338350 } else if ( window . location . href . indexOf ( "zhuanlan" ) > - 1 ) { // 文章 //
339351 setInterval ( topTime_zhuanlan , 300 ) ; // 置顶显示时间
@@ -346,6 +358,6 @@ function addTypeTips() {
346358 } else { // 首页 //
347359 collapsedAnswer ( ) ; // 一键收起回答
348360 setInterval ( topTime_index , 300 ) ; // 置顶显示时间
349- setInterval ( addTypeTips , 1000 ) ; // 区分问题文章
361+ EventXMLHttpRequest ( ) ; // 区分问题文章
350362 }
351363} ) ( ) ;
0 commit comments