【问题标题】:Prevent iframe "This webpage is not available." error from displaying on website阻止 iframe “此网页不可用。”在网站上显示错误
【发布时间】:2010-08-23 23:01:36
【问题描述】:

有没有办法防止出现“此网页不可用”错误。从显示在另一个网站上的 iframe 中显示?

例如,如果我有一个网站,我想在一个框中显示我的 Facebook 粉丝,一种显示方式是使用 iframe(通常是 Facebook 提供的代码)。但是,如果由于某种原因 Facebook 出现故障或响应缓慢(就像现在一样),我会在应该显示 iframe 的网站上显示以下内容:

此网页不可用。

网页 在http://www.facebook.com/plugins/likebox.php?id=xxxxxxxxxx&width=182&connections=6&stream=false&header=true&height=287might 暂时关闭或可能有 永久移动到新网站 地址。

• 有关此错误的更多信息 以下是原始错误消息 错误 324 (net::ERR_EMPTY_RESPONSE): 未知错误。

如果 Facebook(或其他网站)不可用,我很乐意不显示任何内容,或显示相同大小(高度/宽度)的图形,或许多其他替代方案,除非在我的主页!它让我的网站在用户看来很糟糕。

欢迎提出任何想法!提前致谢

【问题讨论】:

    标签: html facebook xhtml iframe facebook-iframe


    【解决方案1】:

    您可以使用 iframe 的 onerror="" 属性来做一些有创意的事情。考虑一下:

    <iframe src="foo.bar" onerror="this.location.reload();" />
    

    希望对你有帮助

    编辑:这不再有效。

    【讨论】:

    • onerror for iframe 元素是 HTML5 规范的一部分,据我所知,仅在最新版本的 Chrome 和 Safari 中受支持。 Firefox、IE 和 Opera 不支持它,尽管添加它不会有什么坏处,这样当那些浏览器实现它时它就可以工作。
    • @Andy:你确定吗?我刚刚在 chromium 9.0.597.94 上测试过,似乎不支持 onerror
    • @brillout.com:当我写那条评论时,我没有办法正确地测试它。我所做的 是在 Chrome 的控制台中输入以下命令:"onerror" in document.createElement("iframe")。结果是(在 9.0.597.98 中对我来说仍然是)true,这意味着 Chrome 为 iframe 元素定义了一个名为“onerror”的默认属性/属性。它的值为null,这是初始化事件处理程序属性的典型值。
    • 虽然事件属性确实存在于 Chrome 中,但据我所知,它实际上并没有被触发。
    【解决方案2】:

    如果您在服务器端执行任何操作,您可以测试该 URL 并查看它是否返回 404 错误

    【讨论】:

    • 这行不通,因为您需要来自浏览器的客户端凭据才能显示 facebook 内容。
    猜你喜欢
    • 2014-12-29
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2014-07-05
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多