微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – HTML5视频静音属性未使用属​​性应用,但使用setAttribute应用

在使用HTML5视频时,我发现了一个奇怪的不一致.

Compare these two code snippets and take a look at the Elements tab in Chrome developer tools

utoplay = true;
    video1.muted = true;
    document.body.appendChild(video1);

    const video2 = document.createElement('video');
    video2.setAttribute('autoplay','autoplay');
    video2.setAttribute('muted','muted');
    document.body.appendChild(video2);
  

对于第一个视频,未设置使用JS对象属性的静音集.对于第二个,使用setAttribute工作并设置DOM属性.有趣的是,自动播放的情况并非如此.

这是为什么?是否存在另一个以这种方式表现的属性示例?这有规则吗?除了测试之外,如何判断哪个属性属性在JS中的哪种方式?

最佳答案
这些属性仅用于初始化属性.它们不反映当前的状态.

通过直接设置属性,可以更新对象,但不会影响dom属性.

如果您设置了视频的src(因此您可以实际看到它的运行情况),您将看到属性已正确应用

const video1 = document.createElement('video');

video1.src = 'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4';
video1.controls = true;
video1.autoplay = true;
video1.muted = true;

document.body.appendChild(video1);

原文地址:https://www.jb51.cc/html/425563.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐