确定是否禁止object / embed?

时间:2014-08-01 11:23:21

标签: javascript html object embed hacker-news

您可能知道HN,但您可能也不喜欢在许多标签中点击/返回和转发的事实。我想过制作一些网页和HN的链接。所以我做了这个:http://goodfrontpage.com/direct

但有两个问题: 第一:如何确定页面是否允许在其http-headers中以这样的方式打开它:

<iframe class="webpage" src="{{post.url}}" ></iframe>

或者这个:

<object class="webpage" data="http://asfasfasfa.com" >
<embed class="webpage" src="http://asfasffvasf.com" > </embed> 
Error: Webpage not accessible!
</object>

对于像github.com,eff.org或youtube.com

这样的网页,情况确实如此

第二:是否有可能以不同的方式获取网站,允许我显示所有页面?

2 个答案:

答案 0 :(得分:1)

如果您想在另一个网页中嵌入网页,则应使用iframe元素:

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

您可以像任何其他块元素一样设置样式,并设置明确的宽度和高度。


有些网页要求浏览者不要将它们包含在iframe中(使用X-Frame-Options header)。我不认为在客户端有一种简单的方法可以解决这个问题,但您可以创建一个简单的后端或代理来请求您想要的页面并返回内容。这会限制iframe限制因为您现在包含来自您自己域的内容。

这确实有一些安全问题需要注意:

  • 您现在已经制作了一个可用于下载互联网上任何页面的后端。如果有人提出大量下载大页面的请求,则会出现拒绝服务漏洞。

  • 您所包含的网页将不再受same origin policy的限制。这些页面上的脚本将能够与父页面上的所有内容进行交互。如果您计划在将来创建登录功能,这可能是一个问题。

答案 1 :(得分:0)

好像你正在寻找iframe属性。它指定了一个内联框架。

An inline frame is used to embed another document within the current HTML document.

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