szzxc
发表于 2024-2-22 08:59:35
cxxjackie 发表于 2024-2-21 23:14
是否跨域?没有的话将iframe.contentDocument作为parent参数传入。
iframe没有名称,怎么样才能传入,而且这个页面不是一开始就加载的,只有MOUSE点击某个功能会出现一个新的TAB页面,TAb页面里面有多个iframe, 且没有名称,但是通过document.queryselectorAll('iframe')能获取, 但是没有名称。
cxxjackie
发表于 2024-2-22 22:13:35
szzxc 发表于 2024-2-22 08:59
iframe没有名称,怎么样才能传入,而且这个页面不是一开始就加载的,只有MOUSE点击某个功能会出现一个新 ...
可以通过get方法来获取iframe元素,元素不一定要有名称来定位,建议学习一下其他选择器的写法:https://bbs.tampermonkey.net.cn/thread-1821-1-1.html
实在找不到适合定位的特征,也可以利用src不同来写选择器:
另外,如我前面126楼所说,获取到iframe元素不代表iframe已加载完毕,可能还需要监听load事件,match进iframe内部来执行脚本要简单得多。
pawjazz
发表于 2024-8-7 23:18:14
本帖最后由 pawjazz 于 2024-8-8 18:52 编辑
感谢!感谢!感谢!感谢!感谢!
gues1688
发表于 2024-9-5 23:27:14
本帖最后由 gues1688 于 2024-9-5 23:30 编辑
> 本帖最后由 gues1688 于 2024-9-5 23:28 编辑
老大,下面这面代码肯定不对,要怎么改写,选择器 'div' 显然不止返回一个元素:
```
(function() {
elmGetter.get('div').then(divs => {
console.log(divs);
});
})();
```
谢谢老大!
gues1688
发表于 2024-9-6 15:12:39
gues1688 发表于 2024-9-5 23:27
> 本帖最后由 gues1688 于 2024-9-5 23:28 编辑
老大,下面这面代码肯定不对,要怎么改写,选择器 'd ...
反复调试观察,明白了,代码没错。
原以为,会等待所有选择器的元素都出现,才会返回,结果却是只要出现了1个就返回,不会继续监视其它元素。
想要监视 选择器筛选的所有元素,需要用的是 elmGetter.each()。
谢谢老大提供的精彩实用库!
cxxjackie
发表于 2024-9-6 22:31:11
gues1688 发表于 2024-9-6 15:12
反复调试观察,明白了,代码没错。
原以为,会等待所有选择器的元素都出现,才会返回,结果却是只要出现 ...
get对标的是querySelector,设计本意如此,each对标的才是querySelectorAll。
gues1688
发表于 2024-9-6 23:04:21
cxxjackie 发表于 2024-9-6 22:31
get对标的是querySelector,设计本意如此,each对标的才是querySelectorAll。
您的解答,浅显易懂,我明白了。
谢谢您!
有脚的本子
发表于 2024-9-13 18:53:16
请问SSE要如何断开获取Dta
cxxjackie
发表于 2024-9-13 22:12:36
有脚的本子 发表于 2024-9-13 18:53
请问SSE要如何断开获取Dta
这个似乎与库的功能无关,观察页面输出是否存在节点插入,是的话可以用each方法获取,不是的话需要自己写MutationObserver观察文本变化(characterData),或者对相关接口做劫持(如EventSource的message事件)。
pawjazz
发表于 2024-11-27 13:55:00
一直再用大佬这个库, 基本上都跑得很6, 今天报告一个性能问题
最近遇到一个下拉菜单(框架是Vue) 有一千多项数据
点击输入框输入文字的时候大概要卡10来秒
排查了一下 是observe(target, {..., attributes: true}) 引起query方法被调用好几千次
如果设置 attributes: false 就不卡了
麻烦楼主看看能不能优化一下 感谢
页:
4
5
6
7
8
9
10
11
12
13
[14]
15