我正在制作 Chrome 扩展程序,“自动播放”对它至关重要。
扩展是一种音频播放器。它允许我将站点添加到播放列表,扩展程序将自动转到每个 URL 并按顺序播放它们的内容。
由于程序需要从播放列表中的一个元素无缝切换到下一个元素,因此我不能要求用户交互。
我想在我自己的浏览器中启用自动播放,这样我至少可以亲自使用该软件,但我什至不知道如何做到这一点。
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
在那个链接上它说去
chrome://flags/#autoplay-policy
但是这个标志似乎不存在。Chrome 版本 78.0.3904.108(官方版本)(64 位)
笔记
我找到了一种解决方法,即保持实际的音频播放器页面处于事件状态并在 iframe 中加载其他页面。这只有效,因为他们不强制执行
same-origin
政策。但是我仍然很好奇是否有办法禁用整个自动播放限制。
最佳答案
可以使用关闭自动播放策略的标志来启动 Chrome。不幸的是,这只能通过命令行来完成。至少据我所知。
在 macOS 上,它看起来像这样:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --autoplay-policy=no-user-gesture-required
对于其他操作系统来说有点不同。但是有一个 official guide它解释了如何在 Windows 或 Linux 上从命令行启动 Chromium(或 Chrome)。
该设置不会保留。下次您在没有该标志的情况下启动 Chrome 时,它将再次启用自动播放策略。
关于google-chrome - 如何在 Chrome 中启用自动播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59113898/