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网站提供功能,所以我的每个iframe都通过https而不是HTTP加载?

> prettyPhoto 默认仅使用 http 作为其 iframe 视频链接。问题是,如果您的网站是安全的,那么它就不会加载不安全的内容。

在其

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&amp;byline=0&amp;portrait=0';

PrettyPhoto + Youtube/Vimeo 视频的替代解决方案

很明显,这篇文章已经有好几年的历史了 - 但是,我将发布有关 PrettyPhoto 不显示视频内容(例如 Youtube + Vimeo (,希望遇到此问题的其他人可以使用此解决方案。

在搜索了网络和每个论坛以寻找有关如何使Youtube + Vimeo视频在PrettyPhoto模式中显示的解决方案之后 - 并且在无数次修改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的人。

最新更新