跳到主要内容

常见误区 (二)

本文总结了目前来说大家依然常常犯错或者常见的问题,很多问题已经可以称的上老生常谈了,唉

找不到元素怎么办?

可以参考 常见误区 (一) 的找不到元素

可能存在延迟加载元素,或者 iframe 作用域的问题

我们可以使用

var time = setInterval(() => {
//写你的代码;
}, 1000);

然后在适当的时候使用

clearInterval(time);

清除掉定时器

也可以使用 addEventListener 或者 MutationObserver

这两个 api 都在之前有所涉猎

addEventListener 适用于你需要同步进行,而 MutationObserver 适用于异步,性能更好不卡顿

addEventListener 的则较为简单,基本分散在每节课了,所以没什么特别推荐的文章

关于 MutationObserver 可以参考 MutationObserver 知识

我设置了元素但是点击按钮依然没有用

这时候多半是框架的问题

我们虽然设置了内容但是没有做元素相关的校验

这时候需要对其进行特殊的处理

具体可以去参考元素规则校验和检测的触发

我该如何判断网页到底是什么库?

我最近找到一个比较好用的插件 Wappalyzer

可以直接查看当前页面是什么框架

1

大家也可以安装上插件,根据提示的框架来对其进行针对性处理

但是也不是万能的,根据测试有一部分网站找不到任何信息。

我该如何处理 React 和 Vue 页面

React 的教程在 元素规则校验和检测的触发 已经讲过了

而 vue 的相关教程可以去查看

https://bbs.tampermonkey.net.cn/thread-1425-1-1.html

https://bbs.tampermonkey.net.cn/thread-1438-1-1.html

Require 后出现各种问题怎么办

require 代码类似于

function(){

// require的代码

// 你的代码

}

可能作用域和代码再次引用外部的库和数据,会出现各种各样的问题

这个时候可以考虑对网页插入 script 标签等进行引用

或者修改 js 代码,然后发布到 npm 来进行引用

具体可以参考 引用库的使用 的处理思路

关于一些推荐的库

我们可以使用一些库来让我们的界面变的更美观易用

同时代码量更少,减少我们的重复性任务的工作量

同样可以参考 引用库的使用

善用开源的库可以极大的提高代码的健壮性及减少编写任务