如何制作适用于 IOS 和桌面浏览器的自定义全屏视频按钮?

Posted

技术标签:

【中文标题】如何制作适用于 IOS 和桌面浏览器的自定义全屏视频按钮?【英文标题】:How to make a custom fullscreen video button that works on both IOS and desktop browser? 【发布时间】:2019-08-30 02:12:10 【问题描述】:

我是一名新手,正在努力建立一个视频网站。该网站适用于桌面和 ios,但在 iOS 中,我的全屏视频按钮不起作用。

如果我打开标签中的“控件”属性,那么 iOS 将显示苹果的原生控件以将视频置于全屏状态,因此我知道全屏视频适用于 iOS。本机控件与我的网站布局发生冲突,所以我不想拥有它们。当我删除“控件”属性时,它们不显示这是好的,但是没有办法将视频全屏显示。

我想要的是在桌面上运行的自定义全屏按钮在 iOS 上运行。我似乎无法将按钮与我从 Apple 开发指南中提取的 iOS 代码联系起来。

 <video id="tv" autoplay muted controls playsinline autoplay onended="fine()"webkitallowfullscreen mozallowfullscreen allowfullscreen>


<div id="fullscreenbutton" onclick="openFullscreen(); webkitbeginfullscreen(); webkitEnterFullscreen(); addFullscreenButton(); goFullscreen();"></div>

</script>

        <script type="text/javascript">

        var vid;

        function init() 

            vid = document.getElementById("tv");

            vid.addEventListener("loadedmetadata", addFullscreenButton, false);

        

        function addFullscreenButton() 

            if (vid.webkitSupportsFullscreen) 

                var fs = document.getElementById("fullscreenbutton");

                fs.style.visibility = "visible";

            

        

        function goFullscreen() 

            vid.webkitEnterFullscreen();

        

    </script>

我是新手,但我希望当点击全屏按钮时,它会在 ios 中播放全屏视频

【问题讨论】:

【参考方案1】:

我实际上是通过使用它来工作的:

<script>
var video = document.getElementById('video'),
    play = document.getElementById('play'),
    time;
video.addEventListener('webkitbeginfullscreen', function() 
    play.innerText = 'play fullscreen video';
    window.clearInterval(time);
);
video.addEventListener('webkitendfullscreen', function() 
    video.pause();
);
play.addEventListener('touchstart', function() 
    time = window.setInterval(function() 
        try 
            video.webkitEnterFullscreen();
        
        catch(e) 
    , 250);
    play.innerText = 'loading ...';
    video.play();   
);
</script>

我在这里找到了它: https://gist.github.com/4rn0/3146246

【讨论】:

以上是关于如何制作适用于 IOS 和桌面浏览器的自定义全屏视频按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何设计制作JavaWeb项目的自定义桌面实现,求源码?新手谢谢!

如何使我的自定义 ViewModifier 仅适用于 SwiftUI 中符合(可识别和视图)的内容/视图?

iOS中的jquery打开/关闭div背景(不应该)适用于所有桌面浏览器[重复]

Flutter Web:google_sign_in_web:适用于桌面和 iOS。在 Android Chrome 上失败

适用于所有屏幕尺寸的 iOS 全屏背景图像

Qt:如何制作像 QTextField 一样对齐的自定义小部件