一日一技:如何使用JavaScript移除少数派的付费内容

简介: 一日一技:如何使用JavaScript移除少数派的付费内容

少数派(https://sspai.com/)是一个以生产力、效率工具为主要内容的数字消费指南平台。由于网站需要盈利,所以他们在网站上有所克制地增加了一些付费内容。如下图所示。

这种付费文章点进去以后,只能看到前几段,然后就需要购买会员才能正常阅读。

作为一个网站需要盈利,因此开设付费内容无可厚非。奈何少数派的付费内容对我毫无吸引力,因此我不希望每次都在首页上看到这些付费文章。

从网页上删除这些付费内容的原理非常简单,在网页上右键,点击“检查”,打开Chrome的开发者工具,如下图所示。

点击箭头所指向的图标,如下图所示:

然后在网页上任意选中一个付费内容,此时开发者工具里面将会自动变成下图所示的样子:

其中方框框住的这个 img标签对应了 付费内容这个小图标,因此我们可以使用这个标签来进行定位。

现在视线在HTML代码区域往上走,可以看到 dl标签

每一个文章块就对应一个 dl标签。如果我们在上面右键删除这个标签,就会发现对应的付费条目不见了,如下图所示:

但这种做法每次只能删除一条付费内容,有没有办法把所有付费内容全部删除呢?答案就是使用JavaScript:

var pay_tag_list = document.getElementsByClassName('series-logo')
while(pay_tag_list.length > 0){
    pay_tag = pay_tag_list[0]
    dl_tag = pay_tag.parentNode.parentNode.parentNode
    div_tag = dl_tag.parentNode
    div_tag.removeChild(dl_tag)
    pay_tag_list = document.getElementsByClassName('series-logo')
}

复制上面这一段代码到开发者工具的Console标签页并粘贴,敲下回车键,付费内容就消失了,如下图所示。

目录
相关文章
|
4月前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
41 0
|
JavaScript
js数组去重:二维数组去重、去除相同的值、移除相同的数组
js数组去重:二维数组去重、去除相同的值、移除相同的数组
|
JavaScript
js移除返回数组相同字段
js移除返回数组相同字段
|
JavaScript API
js: 添加事件监听addEventListener、移除事件监听removeEventListener
js: 添加事件监听addEventListener、移除事件监听removeEventListener
140 0
|
前端开发 算法 JavaScript
LeetCode移除元素使用JavaScript解题|前端学算法
LeetCode移除元素使用JavaScript解题|前端学算法
101 0
LeetCode移除元素使用JavaScript解题|前端学算法
|
JavaScript
JS 刷 Leetcode:027. 移除元素
JS 刷 Leetcode:027. 移除元素
JS 刷 Leetcode:027. 移除元素
|
JavaScript 前端开发 算法
27. 移除元素:JavaScript 遍历和双指针两种解法
27. 移除元素:JavaScript 遍历和双指针两种解法
122 0
27. 移除元素:JavaScript 遍历和双指针两种解法
|
JavaScript 前端开发 索引
web前端学习(四十二)——JavaScript DOM元素(添加、移除及替换)、DOM集合(Collection)、DOM节点列表(NodeList)
web前端学习(四十二)——JavaScript DOM元素(添加、移除及替换)、DOM集合(Collection)、DOM节点列表(NodeList)
web前端学习(四十二)——JavaScript DOM元素(添加、移除及替换)、DOM集合(Collection)、DOM节点列表(NodeList)
|
JavaScript 前端开发
web前端学习(四十一)——JavaScript DOM EventListener(添加与移除监听事件)
web前端学习(四十一)——JavaScript DOM EventListener(添加与移除监听事件)
web前端学习(四十一)——JavaScript DOM EventListener(添加与移除监听事件)
|
JavaScript
JS:delete移除对象中的属性
JS:delete移除对象中的属性
120 0