javascript - 确定对象/嵌入是否被禁止?

标签 javascript html object embed

您可能知道 HN,但您可能也不喜欢在许多选项卡中单击/后退和前进。我想过制作一些页面,其中既有来自 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 等页面来说是正确的

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

最佳答案

如果您想将一个网页嵌入另一个网页,那么您应该使用 iframe 元素:

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

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

<小时/>

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

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

  • 您现在已经创建了一个可用于下载 Internet 上任何页面的后端。如果有人发出大量下载大页面的请求,则存在拒绝服务漏洞。

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

关于javascript - 确定对象/嵌入是否被禁止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25079189/

相关文章:

javascript - 在关闭按钮旁边的模式标题中 float 按钮

c++ - 如果基类具有在成员函数中修改的私有(private)数据成员,那么派生类如何使用该函数?

javascript - 当列表变长时,选择下拉列表无法正确显示

javascript - amCharts 的 JS 图表折线图中的随机曲线

javascript - 用于选择 HTML 中的部分的正则表达式

javascript - 前 10 个 jquery

R将脚本对象加载到工作区

javascript - 无法访问对象文字内的 "this"

javascript - 如何将变量保存到 JSON 文件?

javascript - 在JS中调用twig模板