【问题标题】:adding an iframe to facebook does not work anymore since ~2 weeks大约 2 周后,将 iframe 添加到 facebook 不再起作用
【发布时间】:2011-11-22 12:04:56
【问题描述】:

我正在编写一个 Firefox 扩展程序来读取 facebook 用户的隐私设置。 (不是 facebook 应用程序!!)为了在不同的 facebook 网站之间切换,我使用了 iframe,但这不再起作用了。我从 2 周开始就遇到了这个问题。

$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%"  
height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);

我遵循同源政策,并且自 2 周以来一直运行良好!?一个例子:

var link = "http://www.facebook.com/editprofile.php?sk=basic";

现在我只得到一个空白 iframe :(

有趣的是,如果我在 iframe 中添加“http://www.youtube.com/embed/Qi_AAqi0RZM”或“http://trololololololololololo.com/”,它就可以正常工作...: /

Facebook 是否更改了 iframe 中自己的链接的规则?有解决方法吗?我还有其他方法可以使用 Firefox 扩展扫描不同的站点吗?我宁愿继续使用内容脚本....

编辑:这就是它对萤火虫的看法......同样有趣的是,Facebook 页面 http://www.facebook.com/undefined 正在工作!?

<iframe id="areusable_iframe" width="90%" height="400" name="areusable_iframe" src="http://www.facebook.com/">
  <html>
    <head>
    </head>
    <body>
    </body>
  </html>
</iframe>

【问题讨论】:

    标签: javascript jquery facebook iframe firefox-addon


    【解决方案1】:

    Facebook 向浏览器发送以下响应标头:

    X 帧选项:拒绝

    这会导致所有主流浏览器(甚至 IE8 和更高版本)阻止在框架内显示它。

    旧的方式是使用 JavaScript 强制页面作为顶部窗口打开的“框架破坏者”,但它非常不友好,因此在大多数不想显示在框架中的现代网站中,它被这个标题取代。

    抱歉,您无能为力。

    “未定义”页面只是空白内容,是他们的404自定义错误页面,因为它不包含上述标题,它可以显示在框架内。

    要了解有关X-Frame-Options 标头的更多信息,请参阅this documentation

    【讨论】:

    • 谢谢,现在我至少知道问题所在了……好吧,我现在必须找到另一个解决方案……
    • 如果你真的必须在框架内显示它,你必须构建你自己的服务器端“代理”,使用面向开发人员的 Facebook API,并让框架指向你的代理..
    • 不,它不需要是 iframe,但我已经实现并测试了一切,现在我的整个工作都被破坏了 :( 但我想我会改用 page-worker...跨度>
    • 嗯....所以facebook打破了自己的like box?它不再是可嵌入的,嵌入它是它的全部意义所在。有关如何制作有效的赞框的建议?
    • @Joshua 不相关 - Like 按钮的嵌入方式不同,这个问题是关于嵌入“全尺寸”页面。
    猜你喜欢
    • 2014-09-20
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多