2016-11-29 66 views
1

我正在制作必须展示另一个域的网页的网页。如何解决iframe跨域问题

例如,在我的web html中,有两个<div>标签。

像:

<html> 
<head></head> 
<body> 
    <div> 
     <p> hello world </p> 
    </div> 
    <div> 
     <!-- other domain's web page comes here --> 
    </div> 
</body> 
</html> 

要解决我的问题,我应该使用,<embed><object>标签,但是这会导致跨域问题。所以,我不能用它来显示其他域的网页。他们不允许我使用它。

因此,举例来说:

<iframe src="http://stackoverflow.com"></iframe> 

它不工作。我的网页无法显示stackoverflow.com。因为,stackoverflow否认这一点。

我搜索了很多这些问题的事情。但他们只是ajaxJSONP。它不是iframe

有解决方案来解决我的问题吗?或者是不可能实现这个?

+0

您是否考虑过使用页面的屏幕截图代替iframe? – madalinivascu

+1

也,iframes应该被射杀。在大多数情况下它并不理想。 – xShirase

+0

@xShirase我120%同意你:)) – madalinivascu

回答

3

您需要控制要嵌入的域以删除/修改其CORS策略。它的域名明确阻止了跨域请求,你无能为力。

这是用来避免任何人劫持你想要的任何网站(你可以在iframe中运行全屏Google,而你的广告在bettergoogle.com上运行,比如类似)。

This page will give you more insights on Cross-Origin

2

如果在iframe域的所有者的许可,您可以要求他们给您的域名添加到自己的跨域政策,所以你可以做到这一点。

如果你没有权限在你的网站上显示他们的内容,我很高兴地说,现代浏览器不支持这种不道德的行为,并且没有办法做你正在做的事情。