Greasy Fork is available in English.

百度搜索 - 优化

1、屏蔽百度推广 2、居中单列(可选) 3、居中双列(可选) 4.自动下一页(可选)

< Σχολιασμός για τον κώδικα 百度搜索 - 优化

Ερώτηση/σχόλιο

§
Δημοσιεύτηκε: 26/04/2018

一个小小的疑问

首先作者的脚本真很好用, :p :p :p ;) ;) ;) 。 今天在开控制台的时候,发现有点卡,后来发现是脚本一直在写dom。 看脚本是setInterval没清除。是脚本就是这样写的吗?(要是这样写的话,感觉太卡浏览器了)还是作者忘了?

后来给mutationfunc函数末尾加了一个clearInterva,脚本仍然可以正常使用,并且不会一直在写dom。

浮生@未歇Δημιουργός
§
Δημοσιεύτηκε: 27/04/2018
  1. 出现这个问题应该是浏览器版本过低,不支持 MutationObserver 接口,导致触发定时器问题。
  2. MutationObserver 浏览器支持情况。
§
Δημοσιεύτηκε: 27/04/2018

非常感谢作者能回复 :) ,的确是if(MutationObserver)没有成立,触发了定时器,浏览器内核是Chrome/63.0.3239.132,应该支持MutationObserver 接口。于是就发现了下面这个情况。作者看一下,是不是百度页面的问题。

后又在百度js源码里看见这样一句话try{window.MutationObserver=window.WebKitMutationObserver=window.MozMutationObserver=null}catch(e){} 是不是就是说, if(MutationObserver)一定不会成立,一定会触发了定时器。那么是不是就有必要设置clearInterva,避免重复写dom。

以上是小弟个人见解,要是打扰大佬,请大佬见谅。

浮生@未歇Δημιουργός
§
Δημοσιεύτηκε: 27/04/2018
  1. 百度搜索入口有 ”从浏览器地址栏输入“,”从百度首页输入”。如果 ”从百度首页输入”时,页面不进行跳转,只能等待搜索结果出来才能加入"外部样式",否则容易导致首页排版出问题。
  2. 百度搜索框输入搜索时,会有预测结果(属于局部变化,TamperMokey不能再次触发),只要结果变动"外部样式"就会无效化,不同结果时都要重新加载"外部样式"。
  3. 早期使用过 setInterval() 和 标志位 来解决该问题,但经常出现样式加载延迟问题,甚至有时会无效化。
  4. 旧版浏览器一直加载“外部样式”这个问题,可以加入标志位来解决(旧版浏览器不再进行维护,如果需要,可以自行修改代码)。
  5. 可以根据实际情况设置clearInterva()。
§
Δημοσιεύτηκε: 28/04/2018

非常感谢作者的解答 :)

§
Δημοσιεύτηκε: 28/04/2018

能加入谷歌剧中吗

Δημοσίευση απάντησης

Συνδεθείτε για να δημοσιεύσετε μια απάντηση.