wordpress - iFrame 嵌入(用于 Youtube 视频)未出现在 Safari 中
问题描述
我的 Youtube 嵌入出现在 Chrome 和 Firefox 中,但没有出现在 Safari(包括 iPhone 上的移动 Safari)中。我使用 Vimeo 或原生 HTML5 视频得到了相同的结果 - 这个 div 中没有任何内容。这是一个 1 分钟的视频,它准确地显示了正在发生的事情:
https://www.youtube.com/watch?v=YnqDlmYOKW8
我尝试了z-index
, position
, 更改iFrame的width
and , 更改为, 删除嵌入代码等等。height
https
http
encrypted-media
该网站是https://waltrib.com/shop/,测试产品是“Heavy Dirt”。我正在使用一个名为 Booster Wordpress 的插件,它允许我将产品图像更改为自定义 HTML(所以我将它用于 Youtube 嵌入)。
在上面视频中的 0:48 - 奇怪的是,当我打开 Developer Inspector 并添加任何类似www
的内容时,iFrame 就会出现。诡异的。在 Safari 中浏览时,它会在网站的每个页面上呈现 Youtube 嵌入,除了 /shop 页面。
我读了这个stackoverflow,它建议使用object
但没有用。
有没有见过这样的错误?这是我最近看到的最奇怪的事情之一。
解决方案
代替 :
src="https://youtube.com/embed/5i9SzaumaRg"
利用:
src="https://www.youtube.com/embed/5i9SzaumaRg" // Note the "www"
听起来很傻,但有效。
更新:似乎任何类型的 URL 更改都会刷新 iframe,因此看起来如下所示:
let i = document.getElementsByTagName("iframe")[0];
i.setAttribute("src",i.getAttribute("src")+"?r=4535");
仅在加载 iframe 后执行此代码。为此使用负载处理程序。
推荐阅读
- r - R中的ggplot2:一些变量有多个分组
- javascript - 如何使用 javascript 清除 JSON 列表
- android - 如何在 Android 的启动画面期间创建身份验证用户
- c - 在 X11 中获取窗口属性长度的惯用方法?
- ssrs-2016 - 创建/编辑订阅时禁用 SSRS 报告参数选择列表
- ios - UIScrollView,来自 viewDidLayoutSubviews 的 contentView 边界错误
- angular - 带有“元素[属性]”格式的选择器的结构指令
- node.js - “路径”参数必须是字符串类型。收到未定义。不知道为什么?
- python - 如何获得具有交替距离的 xticks?
- android - 在设备中激活 UI 游戏对象时内存不足 (Android)