WordPress Popup Iframe Youtube Https with PrettyPhoto
WordPress Popup Iframe Youtube Https with PrettyPhoto
几天前,我将我的网站转换为 https。我有很多问题,但都解决了。但我遇到的最后一个问题是,youtube 视频不再作为带有漂亮照片的弹出窗口工作,除了黑屏或白屏,我什么也看不到。当我检查弹出窗口时,来自 youtube 的 iframe 通过 HTTP 加载,而不是 https。
<a href="https://www.youtube.com/watch?v=#" dat-rel="prettyPhoto[product-gallery]" title="My YouTube Video">
<img src="https://img.youtube.com/vi/#/default.jpg" alt="YouTube" width="50">
</a>
有人熟悉这个问题吗?或者有没有人有我的 WordPress 网站的功能,所以我通过 https 而不是 HTTP 加载的每个 iframe?
prettyPhoto 默认仅对其 iframe 视频链接使用 http。问题是,如果您的网站是安全的,那么它就不会加载不安全的内容。
该问题在其 github 页面上也有描述,包括几个解决方案和一次合并尝试:https://github.com/scaron/prettyphoto/issues/156
鉴于版本 3.1.6 未缩小,快速修复是编辑 prettyPhoto.js 文件并在 http 后简单地添加一个 s,因为从任何上下文加载安全内容都没有错。围绕第 282 和 297 行进行编辑(一个用于 youtube,一个用于 vimeo)。
第 282 行,已编辑:
movie = 'https://www.youtube.com/embed/'+movie_id;
第 297 行,已编辑:
movie = 'https://player.vimeo.com/video/'+ match[3] +'?title=0&byline=0&portrait=0';
PrettyPhoto + Youtube/Vimeo 视频的替代解决方案
很明显这个 post 已经有好几年了 - 但是,我将 post 这个 替代解决方案 关于 PrettyPhoto 不显示的问题视频内容(如Youtube + Vimeo),希望遇到此问题的其他人可以使用此解决方案。
在搜索网络和每个论坛以寻找有关如何在 PrettyPhoto 模态中显示 Youtube + Vimeo 视频的解决方案之后 - 在修改 javascript 无数次但没有结果之后,我尝试了PrettyPhoto 中已经存在的解决方案:使用 iFrame。
按照以下描述的方式使用 Youtube 或 Vimeo 视频后,它们将打开(您可以根据您的规格调整 iFrame 的大小,因为它设置为以 100% 宽度显示):
<a href="https://www.youtube.com/embed/AAsMVW8njzw?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframe]" title="Click To View Video">Your Youtube Video</a>
您也可以使用图片作为封面或缩略图:
<a href="https://www.youtube.com/embed/AAsMVW8njzw?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframe]" title="Click To View Your Youtube Video"><img src="https://assets.entrepreneur.com/content/3x2/2000/20180117155526-youtube.jpeg" width="700" height="400" alt="View Youtube Video"/></a>
我希望这对仍在使用 PrettyPhoto 的任何人有所帮助。
几天前,我将我的网站转换为 https。我有很多问题,但都解决了。但我遇到的最后一个问题是,youtube 视频不再作为带有漂亮照片的弹出窗口工作,除了黑屏或白屏,我什么也看不到。当我检查弹出窗口时,来自 youtube 的 iframe 通过 HTTP 加载,而不是 https。
<a href="https://www.youtube.com/watch?v=#" dat-rel="prettyPhoto[product-gallery]" title="My YouTube Video">
<img src="https://img.youtube.com/vi/#/default.jpg" alt="YouTube" width="50">
</a>
有人熟悉这个问题吗?或者有没有人有我的 WordPress 网站的功能,所以我通过 https 而不是 HTTP 加载的每个 iframe?
prettyPhoto 默认仅对其 iframe 视频链接使用 http。问题是,如果您的网站是安全的,那么它就不会加载不安全的内容。
该问题在其 github 页面上也有描述,包括几个解决方案和一次合并尝试:https://github.com/scaron/prettyphoto/issues/156
鉴于版本 3.1.6 未缩小,快速修复是编辑 prettyPhoto.js 文件并在 http 后简单地添加一个 s,因为从任何上下文加载安全内容都没有错。围绕第 282 和 297 行进行编辑(一个用于 youtube,一个用于 vimeo)。
第 282 行,已编辑:
movie = 'https://www.youtube.com/embed/'+movie_id;
第 297 行,已编辑:
movie = 'https://player.vimeo.com/video/'+ match[3] +'?title=0&byline=0&portrait=0';
PrettyPhoto + Youtube/Vimeo 视频的替代解决方案
很明显这个 post 已经有好几年了 - 但是,我将 post 这个 替代解决方案 关于 PrettyPhoto 不显示的问题视频内容(如Youtube + Vimeo),希望遇到此问题的其他人可以使用此解决方案。
在搜索网络和每个论坛以寻找有关如何在 PrettyPhoto 模态中显示 Youtube + Vimeo 视频的解决方案之后 - 在修改 javascript 无数次但没有结果之后,我尝试了PrettyPhoto 中已经存在的解决方案:使用 iFrame。
按照以下描述的方式使用 Youtube 或 Vimeo 视频后,它们将打开(您可以根据您的规格调整 iFrame 的大小,因为它设置为以 100% 宽度显示):
<a href="https://www.youtube.com/embed/AAsMVW8njzw?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframe]" title="Click To View Video">Your Youtube Video</a>
您也可以使用图片作为封面或缩略图:
<a href="https://www.youtube.com/embed/AAsMVW8njzw?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframe]" title="Click To View Your Youtube Video"><img src="https://assets.entrepreneur.com/content/3x2/2000/20180117155526-youtube.jpeg" width="700" height="400" alt="View Youtube Video"/></a>
我希望这对仍在使用 PrettyPhoto 的任何人有所帮助。