如何将用户启动的操作传递到iframe中

How can I pass a user initiated action into an iframe?

本文关键字:iframe 操作 用户 启动      更新时间:2023-09-26

我在一个页面上有一个音频元素,该元素当前正在一个高度和宽度为零的iframe中加载。我正在使用来自父页面的postMessage来告诉子页面播放一些音频。

这在桌面浏览器上运行得很好,但我在移动浏览器上遇到了一些问题。(我正在安卓版Chrome上测试,但我认为iOS也会有同样的问题)。

移动浏览器要求媒体播放()命令由用户启动。在我的情况下,用户单击父页面上的一个按钮来启动播放,但似乎在执行postMessage时,浏览器会对此失去跟踪。

有没有什么方法可以让音频在iframe中播放,而不让用户看到iframe内的页面?

您可以尝试通过myIframe.document从外部直接访问内部DOM。这样,您就可以链接您的JavaScript对象,并在单击时调用一个函数。直接打电话可能比发信息效果更好。根据这个问题可能会有限制:如何使用JavaScript/jQuery访问iframe的内容?