2010-08-23 59 views
2

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

例如,如果我有一个网站,并且我想在一个框中显示我的Facebook粉丝,则显示它的一种方法是使用iframe(通常是Facebook提供的代码)。但是,如果由于某种原因,Facebook是关闭或响应缓慢(如它是现在),我得到下面的显示在我的网站在iframe中应显示:

此网页无法使用。

该网页 访问:http:?//www.facebook.com/plugins/likebox.php ID = XXXXXXXXXX &宽度= 182 &连接= 6 &流=假&头=真&高度= 287might 暂时向下或可能有 永久移动到新网址 地址。

•这个错误 更多信息以下是原始错误消息 错误324(净值:: ERR_EMPTY_RESPONSE): 未知错误。

如果Facebook(或其他网站)是不可用的,我很高兴没有任何显示,或显示在相同尺寸的图形(高/宽),或其他替代品,除了显示主机我的主页错误!它使我的网站看起来打破了用户。

欢迎任何想法!在此先感谢

回答

3

您可以使用iframe的onerror=""属性来做一些创意。试想一下:

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

希望这有助于

编辑:此不再起作用。

+2

*的onerror *为iframe元素是HTML5规范和的一部分,据我可以告诉,仅在最新版本的Chrome和Safari中受支持。 Firefox,IE和Opera不支持它,尽管这样做不会伤害到添加这个功能,以便它们在这些浏览器实现它时可以正常工作。 – 2010-08-23 23:27:41

+0

@安迪:你确定?我刚刚在铬9.0.597.94测试和onerror似乎不支持 – brillout 2011-02-23 20:22:01

+0

@ brillout.com:我没有办法正确地测试它,当我写了评论。我*做的*是将以下命令输入到Chrome的控制台中:''onerror“in document.createElement(”iframe“)''。结果是(现在仍然是9.0.597.98中的)'true',这意味着Chrome为iframe元素定义了名为“onerror”的默认属性/属性。它的值是'null',这是初始化事件处理程序属性的典型值。 – 2011-02-24 12:42:07

1

如果您是在服务器端做任何事情,你可以测试网址,看看它是否会返回404错误

+0

这将无法正常工作,因为您需要从浏览器的客户端证书来显示Facebook内容。 – 2010-08-23 23:40:24

+0

是的,但不包括其公开内容 – JiminyCricket 2010-08-24 12:32:34