【发布时间】:2016-09-25 10:27:35
【问题描述】:
我正在尝试为谷歌浏览器开发类似于 Pinterest 的 PinIt 扩展程序的扩展程序。
一般来说,我知道在 iframe 中加载任何来自不同来源的 URL 会导致给出错误“拒绝在框架中显示 'https://www.someWebsite.com/',因为它将 'X-Frame-Options' 设置为 'DENY'。”
但是,我确实看到 Pinterest 在使用其扩展程序时会在任何网站上加载 URL。例如,我在 instagram.com 上使用了扩展程序(我也在其他网站上使用过),然后我截取了 我无法理解的屏幕截图。 (请参考 DOM 中的选定区域)
谁能告诉我这是如何实现的,或者 pinterest 是如何做到的?
【问题讨论】:
-
这不正确,你可以在 iframe 中加载任何 URL,这里没有跨域限制。如果它来自另一个域,你不能做的是使用 JavaScript 访问 iframe 的文档。
-
@TiborSzaszOk,如果是这样,那么 pinterest 如何访问网页的图像?任何想法?顺便说一句,我试图通过我正在开发的扩展加载 iframe,我提到的错误就是我所看到的。
-
@TiborSzasz 作为实验,尝试在 iframe 中加载 Google 搜索。
X-Frame-Options是一个东西。 -
@Tushar Shukla 使用 chrome 扩展,您可以将任何 JS 注入页面,并且不会遇到跨域问题。
-
@TiborSzasz 我知道我可以注入,我也成功完成了我的扩展开发,但没有使用 iFrame。但我确实需要使用 iframe 来完成,在这种情况下,我无法从父窗口访问数据。我的简单查询是 PINTEREST 如何实现捕获图像然后在 IFRAME 中显示这些图像的全部功能。
标签: javascript jquery google-chrome iframe google-chrome-extension