【发布时间】:2020-12-29 19:32:33
【问题描述】:
我有一个很奇怪的问题。这发生在 Cordova(混合 HTML)应用程序中,但仅在 iOS 上。
我的 HTML 页面已经有一些内容,没关系。 稍后,我正在从远程页面检索一些 HTML,并将此 HTML 插入到我的主 HTML 页面中。如果有一个指定了 SRC 属性的 iFrame,系统会立即在 safari/特定应用程序中打开该 SRC,但我只想将内容作为普通 iFrame 插入!
示例。如果我检索此 HTML:
<iframe src="https://www.youtube.com/watch?v=dQw4w9WgXcQ">
假设我将这个 HTML 元素保存在变量 foo 中。只要我这样做:
document.getElementById("XXX").appendChild(foo);
iOS 会立即打开 youtube 应用程序。没有用户交互,没有触发器,什么都没有。只需在页面中插入 iFrame。 任何其他指定的 SRC 都会发生同样的情况。
我尝试将“src”属性替换为假属性,例如“data-src”,在页面中插入 iFrame,然后再放回原始 SRC。一旦我这样做,同样的事情就会发生。
您对造成这种情况的原因以及如何实施解决方法有任何想法吗?在 Android 上一切正常。
P.S.:我正在使用 wkwebview,如果这很重要的话。
【问题讨论】:
标签: javascript html ios cordova iframe