网页上广告太多,烦人,得治.
因为大部分是嵌在iframe里的,对于用了jQuery的网站来说,在控制台里输入
$("iframe").remove()
就全没了.
但有的网页没用jQuery,但有时敲了上面的命令,广告没去,但是也没报错,比如Chrome,很神奇.
在控制台里看了下,里面 $ 和 $$ 都已被定义,但内容却是这样的:
$或$$ function $(selector, [startNode]) { [Command Line API] }
selector 必须,表示选啥; startNode 可选,表示从哪儿开始选,跟jQuery是一样的.
可能是浏览器内部封装的, $ 选择出来的是第一个元素,类似 querySelector ,而 $$ 选出来的是一堆元素,类似 querySelectorAll ,元素集合,伪数组.
反正都要遍历,对于支持ECMAScript5的浏览器来说,这么一句就够了:
Array.prototype.forEach.call($$("iframe"),function(item){item.parentNode.removeChild(item)})
瞬间页面清净了.
没有 $$ 的用 document.querySelector 或 document.getElementsByTagName 得到所有iframe元素也行.
不支持ECMAScript5 forEach 的,(现在也多见,估计连控制台都没有),只能用for循环一个一个删除了.
时间: 2024-11-03 23:15:00