【问题标题】:Fullscreen option is not available when loading/embedding the video from some other site, other than from youtube.com从 youtube.com 以外的其他网站加载/嵌入视频时,全屏选项不可用
【发布时间】:2018-08-22 04:04:47
【问题描述】:

我正在 Angular 中构建一个应用程序,其中我使用 Iframe 来呈现视频。 URL,我从控制器传递到 HTML Iframe 源标记为:

this.url2 = this.sanitizer.bypassSecurityTrustResourceUrl("https://example.com/embed/"+this.video_id_);

(abc.com 是我在这里取的假名)

这里

video_id_

是我从 API 中得到的。

现在问题是我在使用时

this.url2 = this.sanitizer.bypassSecurityTrustResourceUrl("https://youtube.com/embed/"+this.video_id_);

然后视频具有全屏按钮,正如我们在每个 youtube 视频上看到的那样,但是当我使用 youtube.com 以外的其他链接时,控件丢失了。

html代码为:

<iframe *ngIf="url2" 
     [src]="url2" allowfullscreen="1"
        mozallowfullscreen 
        msallowfullscreen
        oallowfullscreen
        webkitallowfullscreen
     width="100%" height="120%" >
     </iframe>

youtube 的截图是:

在这个截图中,如果你会在视频的右侧看到控件,当用户点击它时,视频将以全屏模式播放。

下一张截图是:

在此屏幕截图中,您将看到缺少以全屏模式获取视频的控件。

我可以做些什么来控制这些控件?

【问题讨论】:

    标签: html angular video iframe fullscreen


    【解决方案1】:

    看看allowfullscreendocumentation

    它说它只授予 iframe 进入全屏模式的“权限”。 iframe 仍然必须主动requestFullscreen() 才能真正进入全屏模式。

    Youtube、Vimeo 等视频网站都在其界面中实现了实现requestFullscreen() 的按钮。换句话说,由于 allowfullscreen 属性,您在 youtube 示例中看到的全屏按钮不存在。它在那里是因为 youtube 开发者把它放在那里。

    【讨论】:

    • 感谢您的回答。我可以在我的 HTML 代码中实现任何东西来获得该功能吗?
    • 您可以在某处添加您自己的按钮(也许将其放置在带有 css 的 iframe 顶部),以命令来宾 iframe 进入全屏状态。 codepen.io/ssk7833/pen/mVOXXp
    • 谢谢!它帮助很大:)
    猜你喜欢
    • 2018-07-03
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 2014-07-17
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多