gpt4 book ai didi

android - 检测 URL 是否以及何时*成功*加载

转载 作者:太空狗 更新时间:2023-10-29 15:27:22 26 4
gpt4 key购买 nike

我看到了检测 URL 何时完成加载的答案,我需要知道这一点。但是我还需要知道加载是否成功。

我需要知道这一点,因为我正在加载一个 HTML 插页式广告,如果它没有加载,那么我不想显示它。我可以创建自己的 WebClient 并检测 onPageFinished,但我注意到如果我关闭互联网,我仍然会看到 onPageFinished 被调用.那么,如果两者均已完成且成功,我该如何检测该 URL?

编辑:查看 ObAt 的建议,并将其与 this SO question 的最流行答案结合起来,我还是有点卡。似乎当我关闭互联网时,onPageFinished 之后 WebView 的内容似乎是(我的 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>

这没有显示任何明显的错误。

编辑: 刚注意到我正在执行 LoadData 而不是 LoadUrl,我不知道这是否有任何区别.

编辑:如果我的互联网已打开并且广告加载成功,则 WebView 的示例内容如下:

<iframe name="ap_iframe" width="300" height="250" frameborder="0" src="http://ad.leadboltads.net/show_app_ad?section_id=9999&amp;lang=en-GB&amp;scr_w=480&amp;scr_h=800&amp;
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&amp;
referer=" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no"></iframe></body></head>

因此,我现在可以看到这两种状态之间的差异...或许我可以搜索“iframe”或“width”或任何我期望在成功加载的页面中不在失败的页面中的内容页面...但感觉这是一个非常不笼统且不能令人满意的答案。

最佳答案

您可以检查您下载的数据是否不包含任何不良HTTP Status Error (HTTP 200 错误意味着一切正常)。您还可以检查下载的数据是否不是null

编辑:成功的响应比不成功的请求长得多,因此您可以检查响应的长度。

if(serverRespons.length > 50){
// do something
}

或者您可以搜索您的响应,如果它包含您仅在请求成功时获得的属性

String myCheck = "width="
if(serverRespons.toLowerCase().contains(myCheck.toLowerCase()){
//do something
}

我没有亲自测试代码,但希望它对你有用!

注意:我更喜欢第二种方式,或者组合:)

关于android - 检测 URL 是否以及何时*成功*加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13844033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com