我正在开发一个加载webview的智能手机应用程序。有时,由于网络问题(互联网突然丢失或太慢),所有资源都没有加载(图像,声音......)。我知道有很多方法可以知道html页面何时完成加载(onLoad
,...),但我不知道他们在特定情况下做了什么,其中一个资源由于网络问题而无法加载。我无法找到手动测试它的方法。
当加载html文档时,是否有可能知道是否因任何原因无法加载任何资源?我确切地说我不知道html的具体内容。
例如,在这种情况下,身体的document.readyState
事件被解雇了吗? StreamReader sr = File.OpenText(fullFilePath); sr.ReadLine();
切换到"完成"?
答案 0 :(得分:0)
嗯,没有办法直接测试它,但你可以尝试显式加载图像然后监听事件:
var img = new Image();
img.onload = function(){
alert('Okay');
}
img.onerror = function(){
alert('Nope');
}
img.src = "something.png";
如果您想要将声音或脚本预加载到缓存中以供稍后使用,那么您可以使用一个有趣的(如果可能是丑陋的)hack,您可以要求浏览器将其加载为图像,如上所述;只要它存在并下载,它就不会导致错误,即使它不是可显示的东西;最重要的是,它将被正确存储在缓存中,因此您几乎可以立即使用它。