gpt4 book ai didi

iOS UIWebView 页面加载可观察性

转载 作者:行者123 更新时间:2023-12-01 16:51:28 25 4
gpt4 key购买 nike

我想确定,当页面加载在 UIWebView 中完成时.我知道 didStartLoad 之间的“引用计数”方法/didFinishLoad outlined in here它有点适合我,但我对此不太自信。它长了一些毛ifs并且当 Javascript 决定与 document.location 对话时仍然表现得很奇怪.我不清楚以下内容:

  • UIWebViewDelegate对于它应该处理的所有功能,非常简洁并且具有next to none documentation .谁能确认didStartLoad/didFinishLoad真的只为“框架”调用,这意味着很可能是“框架集/框架”和“iframe”?
  • 我如何区分上述 DOM 引起的负载和请求重定向(也产生事件)?
  • 我的观察是每个 didStartLoadshouldStartLoadWithRequest 开头, 重定向除外。这是一个可靠的行为吗?
  • 我是否遗漏了什么,或者无法知道特定的 didStartLoad 是什么请求发起的? ?因为[[webView request] URL]在给出的唯一上下文中,总是返回相同的 URL,即 UIWebView 最初被要求加载的 URL。
  • 最佳答案

  • 我不能。
  • 我不知道。
  • 我不知道。
  • 我说不出来。

  • 有用的答案,对吧?

    显然,我认为 UIWebViewDelegate可以(应该?)对 UIWebView 中发生的事情更具表现力.

    我尝试观察 UIWebView事件是:
  • 在加载 iOS 6 时添加观察者:从未调用过观察者。
  • 试试看:

  • 委托(delegate)方法示例:
    - (void)webViewDidStartLoad:(UIWebView *)webView {
    [self.activityIndicator startAnimating];
    }

    - (void)webViewDidFinishLoad:(UIWebView *)webView {
    if (!webView.loading) {
    [self.activityIndicator stopAnimating];
    }
    }

    效果很好。

    我认为您应该使用您提到的 JavaScript 和 iframe 技巧尝试此代码。
    它没有帮助,但您拥有您正在谈论的 JavaScript,您还可以考虑向您的应用程序发送信号以指示进一步的加载操作正在进行中(例如使用自定义方案调用 URL,如 myApp://didStartLoadingSomethingWithJavascriptDudemyApp://didFinishLoadingSomethingWithJavascriptDude )

    关于iOS UIWebView 页面加载可观察性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343516/

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