我已经看到了检测 URL 何时完成加载的答案,我需要知道这一点。但我还需要知道加载是否成功。
我需要知道这一点,因为我正在加载一个 HTML 插页式广告,如果它没有加载,那么我不想显示它。我可以自己制作WebClient
并检测onPageFinished
,但我注意到如果我关闭互联网,我仍然会看到onPageFinished
被调用。那么,如果两者都完成并成功,我如何检测该 URL?
编辑:查看 ObAt 的建议,并将其与这个 SO question的最流行答案结合起来,我仍然有点卡住。似乎当我关闭互联网后,WebView 的内容onPageFinished
似乎是(我的 section_id 编号更改为 9999):
<head><head><script type="text/javascript" src="http://ad.leadboltads.net/show_app_ad.js?section_id=9999"></script></head><body></body></head>
这没有显示任何明显的错误。
编辑:刚刚注意到我在做 aLoadData
而不是 a LoadUrl
,我不知道这是否有什么不同。
编辑:如果我的互联网已打开并且广告加载成功,那么 webview 的示例内容是这样的:
<iframe name="ap_iframe" width="300" height="250" frameborder="0" src="http://ad.leadboltads.net/show_app_ad?section_id=9999&lang=en-GB&scr_w=480&scr_h=800&
url=data%3Atext%2Fhtml%2C%3Cscript%20type%3D%22text%2Fjavascript%22%20src%3D%22http%3A%2F%2Fad.leadboltads.net%2Fshow_app_ad.js%3Fsection_id%__HIDDEN__script%253E&
referer=" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no"></iframe></body></head>
所以,我现在可以看到这两种状态之间的差异......也许我可以在成功加载的页面中搜索“iframe”或“width”或任何我可能期望但不在失败页面中的东西...... .但感觉是一个非常不一般且不能令人满意的答案。