前言
本文总结了目前来说大家依然常常犯错或者常见的问题,很多问题已经可以称的上老生常谈了,唉
找不到元素怎么办?
可以参考https://bbs.tampermonkey.net.cn/thread-835-1-1.html的找不到元素
可能存在延迟加载元素,或者iframe作用域的问题
我们可以使用
var time=setInterval(()=>{xxxx},1000)
然后在适当的时候使用
clearInterval(time)
清除掉定时器
也可以使用addeventlistener或者mutationobserve
这两个api都在之前有所涉猎
addeventlistener适用于你需要同步进行,而mutationobser适用于异步,性能更好不卡顿
addeventlistener的则较为简单,基本分散在每节课了,所以没什么特别推荐的文章
简单的函数参数作用可以参考
[油猴脚本开发指南]addEventListener劫持
https://bbs.tampermonkey.net.cn/thread-967-1-1.html
关于Mutationobserve可以去参考以下文章
[油猴脚本开发指南]MutationObserver的使用
https://bbs.tampermonkey.net.cn/thread-988-1-1.html
[油猴脚本开发指南]Mutation Event性能影响简易测试
https://bbs.tampermonkey.net.cn/thread-1006-1-1.html
[油猴脚本开发指南]MutationObserver简单详解
https://bbs.tampermonkey.net.cn/thread-1007-1-1.html
[油猴脚本开发指南]MutationObserver简易例子
https://bbs.tampermonkey.net.cn/thread-1008-1-1.html
[油猴脚本开发指南]MutationObserver实战
https://bbs.tampermonkey.net.cn/thread-1017-1-1.html
我设置了元素但是点击登录依然没有用
这时候多半是框架的问题
我们虽然设置了内容但是没有做元素相关的校验
这时候需要对其进行特殊的处理
具体可以去参考
[油猴脚本开发指南]元素规则校验和检测的触发
https://bbs.tampermonkey.net.cn/thread-1250-1-1.html
我该如何判断网页到底是什么库?
通常打印window下的一些特有属性即可
比如确定是否为vue页面
尝试打印是否存在window.VUE_DEVTOOLS_TOAST 属性,如果存在通常为vue页面
但是我最近找到一个比较好用的插件Wappalyzer
可以直接查看当前页面是什么框架
大家也可以安装上插件,根据提示的框架来对其进行针对性处理
但是也不是万能的,根据测试有一部分网站找不到任何信息。
我该如何处理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来进行引用
具体可以参考
3个修改js库的例子
[油猴脚本开发指南]修改Vue3代码兼容油猴
https://bbs.tampermonkey.net.cn/thread-1035-1-1.html
[油猴脚本开发指南]魔改Element plus
https://bbs.tampermonkey.net.cn/thread-1039-1-1.html
[油猴脚本开发指南]魔改toastr
https://bbs.tampermonkey.net.cn/thread-1084-1-1.html
[油猴脚本开发指南]with解决require引入问题
https://bbs.tampermonkey.net.cn/thread-1146-1-1.html
npm发布魔改包
https://bbs.tampermonkey.net.cn/thread-1123-1-1.html
关于一些推荐的库
我们可以使用一些库来让我们的界面变的更好看
同时代码量更少
JS压缩解压库
[油猴脚本开发指南]JSZIP库压缩解压文件
[https://bbs.tampermonkey.net.cn/thread-1150-1-1.html]
[油猴脚本开发指南]JSZIP库实战
[https://bbs.tampermonkey.net.cn/thread-1198-1-1.html
漂亮的SweetAlert2对话框
[油猴脚本开发指南]SweetAlert2的漂亮对话框
[https://bbs.tampermonkey.net.cn/thread-1203-1-1.html]
[油猴脚本开发指南]SweetAlert2进阶
[https://bbs.tampermonkey.net.cn/thread-1303-1-1.html]
FileSaver前端提示下载数据
[油猴脚本开发指南]filesaver解决前端下载
[https://bbs.tampermonkey.net.cn/thread-1147-1-1.html]
结语
那基本这节总结了一些常见的错误以及问题
希望大家不要再重蹈覆辙了