当所有内容均为https时,为什么会出现混合内容错误?

时间:2018-09-09 01:41:51

标签: html iframe https mixed-content

我正在尝试使用iframe从我的另一个网站加载内容,但是在chrome中出现混合内容错误。 //https://都产生相同的错误。

iframe:

<iframe src='https://ajg0702.us/bans' id='frame' frameBorder="0" onload='checkFrame()'>Please update your browser.</iframe>

功能

function checkFrame() {
  var f = document.getElementById('frame');
  if(f.src != "//ajg0702.us/bans" & f.src != "https://ajg0702.us/bans" & f.src != "http://astrophoenix.com/~aiden/bans") {
    console.log("Fallback webpage! current: " + f.src)
    //Will load backup page if main page gets redirected somewhere else
    f.src = "http://mc.skylinemc.us/~aiden/bans"
  }
}

我还仅使用src标签测试了普通iframe,问题仍然存在。

谷歌搜索我的问题只会导致正常的混合内容错误(尝试在https页面上使用http)

附加说明:我在两个站点上都使用Cloudflare。我试图在查询中搜索与Cloudflare有关的问题,但只发现了相似的结果(与我在没有Cloudflare的情况下对问题进行谷歌搜索一样)

2 个答案:

答案 0 :(得分:0)

CheckFrame()中,将源设置为:

f.src = "http://mc.skylinemc.us/~aiden/bans"

不是https,并说明了为什么会出现错误。只需更改

src

开头
https://

答案 1 :(得分:0)

找到了解决方法!

结果是我需要在网址末尾添加index.php