谷歌浏览器播放视频的时候获取不到元素
如题,点击播放视频后通过指令document.querySelector("video").playbackRate=16,报错,看了下document.querySelector("video")获取到的元素是null,如果用鼠标右键在视频处点击检查后,再运行上述指令就可以正常获取到并且倍速,这是为什么呢?说明这个video是在iframe里面的
控制台默认的作用域是top,document.querySelector的document指向的是top中的document,而不是iframe的document
!(data/attachment/forum/202208/31/162011q7083cf0h7hq8wkh.png)
如果你右键检查iframe中的元素,控制台作用域会自动切换到iframe中,这时document.querySelector的document指向的是iframe的document
(Devtools直接输代码的)解决办法就是
1.手动切换控制台作用域(麻烦 但无视跨域)
然后输入```document.querySelector("video").playbackRate=16```
2.将选择器的document指向iframe的contentWindow(方便 但不适用于跨域iframe)
大致代码(默认只有1个iframe 如果有多个iframe要用querySelectorAll或者其他选择器选择)
```document.querySelector("iframe").contentWindow.document.querySelector("video").playbackRate=16``` 楼上正解 楼楼上正解 steven026 发表于 2022-8-31 16:28
说明这个video是在iframe里面的
控制台默认的作用域是top,document.querySelector的document指向的是t ...
强劲!ggnb!
页:
[1]