0.3.2 • Published 12 months ago
monkeyscript v0.3.2
主要应用于浏览器插件油猴脚本的非常规函数或功能
注意:使用了?.
startsWith includes等api 请注意打包的时候进行编译以便处理兼容性问题
Usage
- 异步获取元素
- 由于延迟15ms获取,如果立即处理删除dom节点可能会出现闪烁的情况。如确实需要移除dom节点,建议添加css隐藏dom后再使用此功能
- 由于获取到结果就立即返回,如果想获取所有元素可能会出现丢失的情况,建议指定元素
// 测试网站 bilibili https://www.bilibili.com/video/*
import { querySelectorAll } from 'monkeyscript'
function querySelector(){
return querySelectorAll(...arguments).then( res => res[0]);
};
const base = performance.now();
querySelector('[class="bui-danmaku-switch-input"').then((res) => {
console.log('总计用时', performance.now() - base)
console.log("弹幕[class]", res);
});
querySelector('.bui-danmaku-switch-input').then((res) => {
console.log("总计用时", performance.now() - base);
console.log("弹幕.bui", res);
});
querySelector('.bpx-player-sending-area input.bui-checkbox-input').then((res) => {
console.log("总计用时", performance.now() - base);
console.log("弹幕.check", res);
});
// 测试网站 ****
// 获取同域iframe内元素栗子,不支持跨域
querySelector('#renewframe').then( res => {
console.log("总计用时 iframe", performance.now() - base);
return querySelector('.kclist1.fl dl:nth-of-type(3)', res)
}).then( res => {
console.log("总计用时", performance.now() - base);
console.log('我也不知道啥用途的 dl', res)
})
License
MIT
0.3.2 - 2023-06-10
调整优化允许import和require两种方式使用
0.3.1 - 2022-10-10
修复parseHeaderMeta获取最后一个块注释时的bug
0.3.0 - 2022-10-04
新增 parseHeaderMeta 提取文件头部注释
0.2.1 - 2022-10-03
添加 调整jsdoc提示
0.2.0 - 2022-10-02
修改为ES modules
优化 独立出来awaitDocument
优化 定时器内执行查询,理论上监听所有节点和attr,如果监听都获取不到,定时器也获取不到,这里只起个兜底安慰效果
0.1.0 - 2022-09-24
添加 异步获取元素