我使用src属性将用户选择的页面加载到iframe中.如果加载失败,我想报告这个问题,对用户来说是有意义的.一般来说,iframe不支持根据
http://www.w3schools.com/jsref/dom_obj_frame.asp的错误.
该页面可能来自用户的域,而不是我的域,所以我无法查看iframe的内容.
如果加载成功,我可以设置一个超时并从我的onload处理程序中取消它,但是它需要一个很长的超时时间才能避免错误的报告,同时我的iPhone上的Safari显示了可能会混淆用户的警报.即使这样对于Kindle Fire浏览器也是无效的 – 它会为我的处理程序提供一个加载事件,无论加载是否成功.
有什么事情可以用来检测失败?有什么办法可以抑制默认的Safari行为吗?以任何方式我可以判断加载尝试是否失败? (如果我可以这样做,我可以使用较短的超时和轮询,直到加载尝试解决).
我可以要求使用最新版本的浏览器,但是想要尽可能多的智能手机和平板电脑可以移植的解决方案.
我已经测试了AJAX Get的想法,不幸的是它不起作用.跨域AJAX获取到任意URI会导致异常,而不管目标是否存在,并且可以加载到iframe中.