html - HTTPS 网站上的 Youtube Iframe

标签 html iframe https youtube

我在一个使用 https 的网站上包含了一个指向 YouTube 视频的 iframe。虽然我用“https://”嵌入了 youtube 视频,但当我点击播放时视频会加载 http 文件,使浏览器安全图标呈现“不安全”。如何强制 youtube 仅加载 https 文件?

我的嵌入 HTML:

<iframe id="ytplayer" type="text/html" width="480" height="360" src="//www.youtube.com/embed/-ZUrjLs48a8" frameBorder="0" allowfullscreen></iframe>

最佳答案

按照 Google api 文档中的说明,将 origin 参数添加到您的网址: <强> YouTube Player API Reference for iframe Embeds

作为一项额外的安全措施,您还应该在 URL 中包含 origin 参数,指定 URL 方案(http://或 https://)和主机页面的完整域作为参数值。虽然 origin 是可选的,但包含它可以防止恶意第三方 JavaScript 被注入(inject)您的页面并劫持您的 YouTube 播放器的控制权。

 <iframe id="player" type="text/html" width="640" height="390"
  src="http://www.youtube.com/embed/u1zgFlCw8Aw?enablejsapi=1&origin=http://example.com"
  frameborder="0"></iframe>

关于html - HTTPS 网站上的 Youtube Iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15090242/

相关文章:

css - 如何使用 css 在 iframe 中缩放图像

json - Http GET 方法到 Https?

jakarta-ee - 如何在 Amazon ElasticBeanstalk 上安装的 Java 应用程序上将 http 请求重定向到 https

html - 如何将 Logo 和导航水平居中放在同一行上?

javascript - 无法通过javascript更改html属性

javascript - 要选择的事件处理程序

javascript - Ionic&AngularJS,超时未取消

javascript - 当我通过 jQuery/javascript 传递条件单选按钮时,为什么我的 CSS 样式表没有反射(reflect)出来?

文件中的 Javascript 给出 Uncaught ReferenceError

security - 为什么对 Azure Blob 存储使用 HTTPS