可以在iFrame中显示HTTPS内容吗?

时间:2015-08-13 05:19:41

标签: javascript html html5 iframe

我们正在尝试将此Reddit页面(https://www.reddit.com/live/veh2e41lp0he)嵌入到iFrame中,但它显示为空白。我们认为在页面顶部进行实时聊天会很简洁,但如果不诉诸扩展或强迫用户下载内容,这似乎是不可能的。

这是HTTP JSFiddle:http://jsfiddle.net/sjvcs165/,适用于CNN.com和ESPN.com。

<iframe src="https://www.reddit.com/"></iframe>

html {
    height: 100%;
}
body { 
    height: 100%; 
    min-height: 100%;
    position: relative;
}

iframe { width: 100%; height: 100%; min-height: 100%; }

这里是HTTPS JSFiddle:https://jsfiddle.net/zzkpdxue/,它包含相同的代码,但源自HTTPS页面,我们认为这可以解决问题。它也无法显示HTTPS内容。

是否无法在iFrame中显示HTTPS内容? Aren的广告,以安全内容形式展示,有时通过iFrame在HTTPS网页上投放?

2 个答案:

答案 0 :(得分:1)

如果您打开开发人员工具(Chrome或FF),您会看到错误:

Console from Google Chrome

public class Game { public List<Square> Squares { get; private set; } private Timer timer; private Random random = new Random(); public Game() { this.Squares = Enumerable.Range(0, 9).Select(x => new Square {Value = SquareValue.Empty}).ToList(); this.timer = new Timer(Callback, null, TimeSpan.FromSeconds(3), TimeSpan.FromMilliseconds(10)); } private void Callback(object state) { var sq = Squares[random.Next(0, 9)]; var value = random.Next(0, 3); sq.Value = (SquareValue) value; } } Refused to display 'https://www.youtube.com/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

如果您在此处进一步了解on stackoverflow,您会看到有一个标题可以阻止加载iframe。

基本上,其他网站(Youtube或Reddit)会阻止您从自己网站以外的任何其他来源加载内容。要获取内容,您需要查看使用AJAX或CURL请求获取内容。

答案 1 :(得分:0)

错误

Refused to display 'https://www.reddit.com/live/veh2e41lp0he' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

Reson reddit.com http headder'X-Frame-Options'不允许从其他来源加载到iframe。

解决方案:使用CURL阅读页面