Vimeo 视频自动播放在 Safari 11 中不起作用:NotAllowedError
Vimeo video autoplay not working in Safari 11: NotAllowedError
自上次 Safari 更新到版本 11 后,一些视频停止播放。
最糟糕的是,有时,就像五次尝试中一次,它会奏效。
我认为原因是我的 JS 脚本集成了 Vimeo Player API,但结果甚至 Vimeo 的嵌入 link 根本不起作用。
因此,当您在 Safari 11 中打开嵌入视频时,它不会启动并且会完全阻塞。你可以通过打开即看到它
https://player.vimeo.com/video/XXXXXXXX?autoplay=1
在控制台日志中,您可以得到如下内容:
Unhandled Promise Rejection: NotAllowedError (DOM Exception 35): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
您可以将 background
URL 参数添加到 iframe src
:
<iframe src="https://player.vimeo.com/video/XXXXXXXX?autoplay=1&background=1>
如果您的视频有声音,您也可以在完全没有音轨的情况下再次导出视频。你可能根本不需要 background
参数。
问题是 Safari 11 会阻止所有有声音的视频自动播放。
即使像我这样的视频没有音量,但导出时有声音但没有音量。您可以在地址栏中看到 sovolume 图标:
因为safari 不允许自动播放所有视频。
您可以添加 mousemove
事件侦听器。当鼠标移动时,视频开始播放。
那么你必须移除这个事件。
iOS 支持:从 iOS 10+ 开始支持自动播放视频,但需要标签上的 playsinline 属性。
自上次 Safari 更新到版本 11 后,一些视频停止播放。 最糟糕的是,有时,就像五次尝试中一次,它会奏效。 我认为原因是我的 JS 脚本集成了 Vimeo Player API,但结果甚至 Vimeo 的嵌入 link 根本不起作用。
因此,当您在 Safari 11 中打开嵌入视频时,它不会启动并且会完全阻塞。你可以通过打开即看到它 https://player.vimeo.com/video/XXXXXXXX?autoplay=1
在控制台日志中,您可以得到如下内容:
Unhandled Promise Rejection: NotAllowedError (DOM Exception 35): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
您可以将 background
URL 参数添加到 iframe src
:
<iframe src="https://player.vimeo.com/video/XXXXXXXX?autoplay=1&background=1>
如果您的视频有声音,您也可以在完全没有音轨的情况下再次导出视频。你可能根本不需要 background
参数。
问题是 Safari 11 会阻止所有有声音的视频自动播放。
即使像我这样的视频没有音量,但导出时有声音但没有音量。您可以在地址栏中看到 sovolume 图标:
因为safari 不允许自动播放所有视频。
您可以添加 mousemove
事件侦听器。当鼠标移动时,视频开始播放。
那么你必须移除这个事件。
iOS 支持:从 iOS 10+ 开始支持自动播放视频,但需要标签上的 playsinline 属性。