利用JQeury屏蔽网页广告(针对手机端,pc端有很多很好用的插件,请自行google)
手機(jī)看小說(shuō)(我才不會(huì)看小電影呢)時(shí)總會(huì)有各種廣告,針對(duì)不同類型的廣告,來(lái)用jquery移除它們。
工具:via瀏覽器(可以自定義js腳本)
第一種:
邏輯比較簡(jiǎn)單的廣告,有固定的class或者id值,屏蔽很簡(jiǎn)單,這里不做討論了
第二種:
邏輯稍微復(fù)雜的廣告,有隨機(jī)的class或者id值,但一般有固定的前綴,可以用屬性選擇器+正則來(lái)屏蔽:
//防止延遲加載 setTimeout('test()', 100); function test() {//屬性選擇器不用多說(shuō)了吧,關(guān)鍵是這里要用正則^=i表示值以i開(kāi)頭//某些廣告直接remove()后,過(guò)幾秒會(huì)再次刷出來(lái),所以這里用hide;$("[id^=i]").hide();}第三種:
沒(méi)有定義class和id 的廣告。這種只能根據(jù)別的屬性來(lái)定位了:一般來(lái)說(shuō)廣告肯定會(huì)有鏈接,可以根據(jù)鏈接的域名來(lái)匹配。但效果似乎不太好。
setTimeout('test()', 100); function test() {//href*=html表示屬性href的值在任意位置包含'baidu'$("div[href*=baidu]").hide(); }第四種:
也是在我看來(lái)最最惡心的一種:先粘上這種廣告的偽代碼:
<a href="xxxxx">
? ? <div style="background-color: rgb(255, 255, 255);">//
? ? </div>
</a>
這種廣告惡心之處在于,它是透明的、全屏的,不管你點(diǎn)哪個(gè)位置,都會(huì)跳轉(zhuǎn)到廣告頁(yè)面。不過(guò)根據(jù)完全透明這個(gè)特性,也能很輕易的定位到它
setTimeout('test()', 2000); function test() {//既然是完全透明,那么它background-color肯定是'255,255,255'了$("div[style*='255,255,255']").remove(); }暫時(shí)就遇到過(guò)這么幾種廣告,遺漏之處歡迎補(bǔ)充
?
-----------------------------------偷偷告訴你們劉惜君人美歌甜是個(gè)完美的小仙女呢
總結(jié)
以上是生活随笔為你收集整理的利用JQeury屏蔽网页广告(针对手机端,pc端有很多很好用的插件,请自行google)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 晶体管的 栅极gate 材料选用 多晶硅
- 下一篇: Timer实现定时任务