YouTube 自动播放解决方法?

YouTube autoplay workaround?

我了解自动播放的新变化以及视频需要如何静音。但我有两个问题要尝试解决此功能。由于我正在使用的网站使用特定的音乐视频来迎合审美,并且由于 Chrome 是最常用的浏览器之一,所以我的网站在它上面运行会很好。

  1. 阅读开发人员更新后,我看到一条说明 "Autoplay can be allowed when "Top Frames 委托自动播放权限”。然后它链接到添加 "allow="autoplay” 到站点。我很想知道它是如何工作的以及如何将它添加到我的网站。

  2. 如果这不起作用,我总是可以制作一个装满视频的文件夹,并使用 JavaScript 函数随机 select 这些视频。我的问题是,Chrome 不会因为这项政策而自动播放这些视频吗?还是只是普通视频?

好的,所以我找到了一些解决方法。 allow="autoplay" 的工作方式是,在它能够 运行 之前,您需要进行某种网站交互,然后在每次刷新后它都会自动播放。那你能做什么?

  1. 制作一个播放/取消静音按钮。当然,这是解决问题最耗时的方法,因为您需要将其连接到 youtube 的 api.

  2. 发出警报。警报构成站点交互,因此一旦用户单击 "okay",脚本将正常 运行。当然,如果您不希望它在每次刷新时都提醒用户,那么一个简单的本地主机脚本应该可以工作。

    if (localStorage.getItem("hasCodeRunBefore") === null) {
        var chrome   = navigator.userAgent.indexOf('Chrome') > -1;
    if (chrome) alert('Click ok to load');
 window.onload = function () {
        localStorage.setItem("hasCodeRunBefore", true);
    }
}

  1. 如果您的用户运行正在chrome,请告诉他们使用"ctrl+r"。因为重新加载页面会 运行 就好了。

--

当然,这仅适用于您想要自动播放声音的情况。如果您不在乎并且只想要静音视频,添加“?mute=1&”就可以了。