显示和隐藏播放器

点击下载教程相关资源

不建议尝试切换 Video.js 播放器的可见性或显示。相反,应根据需要创建和删除( disposed)播放器。

这与在模态/叠加中显示播放器等用例有关。与在 DOM 元素中保留隐藏的 Video.js 播放器相比,建议在打开模态时创建播放器,并在关闭模态时将其删除( disposed)。

注意:在涉及内存/资源使用时(如移动设备),这一点尤为重要。

根据所使用的库/框架,实现方式可能如下:

modal.on('show', function() {
  var videoEl = modal.findEl('video');
  modal.player = videojs(videoEl);
});

modal.on('hide', function() {
  modal.player.dispose();
});

完整示例:

示例:

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Video.js</title>
    <!-- 引入 Video.js 样式 -->
    <link href="https://www.hxstrive.com/cdn/libs/video.js/8.9.0/video-js.css" rel="stylesheet">
    <!-- 如果您想支持 IE8(适用于 v7 之前的 Video.js 版本) -->
    <!-- <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> -->
</head>
<body>
    <div id="container">
        <!-- 放置播放器 -->
    </div>
    <p>
        <button onclick="show()">显示</button>
        <button onclick="hide()">隐藏</button>
    </p>

    <!-- 引入 Video.js 库 -->
    <script src="https://www.hxstrive.com/cdn/libs/video.js/8.9.0/video.min.js"></script>
    <script>
        let player = undefined;
        // 显示
        function show() {
            document.getElementById("container").innerHTML =
                "<video id=\"vid1\" class=\"video-js\">\n" +
                "   <source src=\"https://www.hxstrive.com/hxstrivedocs/source/oceans.mp4\" type=\"video/mp4\" />\n" +
                "   <source src=\"https://www.hxstrive.com/hxstrivedocs/source/oceans.webm\" type=\"video/webm\" />\n" +
                "</video>";
            player = videojs('vid1', {
                preload: "auto",
                controls: true,
                width: "640",
                height: "264px",
                poster: "https://www.hxstrive.com/hxstrivedocs/source/oceans.jpg"
            });
            player.play();
        }

        // 隐藏
        function hide() {
            if (!!player) {
                // 同时从 DOM 和内存中移除 Video.js 播放器
                player.dispose();
            }
        }
    </script>
</body>
</html>

👉自己动手试一试 »

运行示例,效果图:

显示和隐藏播放器

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号