上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

谷歌浏览器播放视频的时候获取不到元素

[复制链接]
  • TA的每日心情
    慵懒
    2023-11-28 10:24
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    3

    主题

    9

    回帖

    16

    积分

    助理工程师

    积分
    16
    发表于 2022-8-31 16:11:18 | 显示全部楼层 | 阅读模式
    悬赏2油猫币未解决

    如题,点击播放视频后通过指令document.querySelector("video").playbackRate=16,报错,看了下document.querySelector("video")获取到的元素是null,如果用鼠标右键在视频处点击检查后,再运行上述指令就可以正常获取到并且倍速,这是为什么呢?

  • TA的每日心情
    慵懒
    18 小时前
  • 签到天数: 629 天

    [LV.9]以坛为家II

    30

    主题

    534

    回帖

    1404

    积分

    荣誉开发者

    积分
    1404

    荣誉开发者新人进步奖油中2周年生态建设者新人报道挑战者 lv2油中3周年喜迎中秋

    发表于 2022-8-31 16:28:05 | 显示全部楼层

    说明这个video是在iframe里面的
    控制台默认的作用域是top,document.querySelector的document指向的是top中的document,而不是iframe的document
    image.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

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    636

    主题

    5185

    回帖

    6068

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6068

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-8-31 16:57:26 | 显示全部楼层
    楼上正解
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情

    2022-8-15 10:58
  • 签到天数: 1 天

    [LV.1]初来乍到

    9

    主题

    80

    回帖

    88

    积分

    初级工程师

    积分
    88

    新人报道油中3周年挑战者 lv1

    发表于 2022-8-31 18:50:14 | 显示全部楼层
    楼楼上正解
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-11-28 10:24
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    3

    主题

    9

    回帖

    16

    积分

    助理工程师

    积分
    16
    发表于 2022-9-8 14:39:56 | 显示全部楼层
    steven026 发表于 2022-8-31 16:28
    [md]说明这个video是在iframe里面的
    控制台默认的作用域是top,document.querySelector的document指向的是t ...

    强劲!ggnb!
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表