当前位置: 首页 > 面试题库 >

知道何时将AJAX加载到UIWebView中

甄霖
2023-03-14
问题内容

我有UIWebView一个页面,一个页面包含一个AJAX组件,当用户单击一个按钮时,其内容会更改。我如何知道内容何时加载到UIWebView


问题答案:

您需要做两件事:

  1. 在您的JavaScript代码中,XMLHTTPRequest发出带有自定义URL的AJAX请求已完成的信号:
        var req = new XMLHttpRequest();  
    req.open('GET', 'http://www.mozilla.org/', true);  
    req.onreadystatechange = function (aEvt) {  
      if (req.readyState == 4) {  
         if(req.status == 200) { 
           window.location = "myspecialurl:foo"
         }
      }  
    };  
  1. 在您的本机代码中,您需要实现一个UIWebView侦听此自定义URL 的委托:
        - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
    {
      if([[[request URL] absoluteString] isEqualToString:@"myspecialurl:foo"]) {
         // Your code for when the AJAX request completes.
         return NO;
      }
      return YES;
    }

不能保证此代码可以解析/编译,但应为您提供实现方法的思路。



 类似资料:
  • 问题内容: 我有一个jQuery ajax函数,将一些内容加载到div中,其中一些内容是图像。我想说的是,直到刚刚加载到我的ajax中的那些图像完成加载,然后运行一个功能,例如显示内容。这样,我就不会将内容加载到div中并且图像会开始加载。我希望它们被加载,然后将内容或内容放入div中。 我已经看到了许多解决方案,例如using ,但是它似乎不适用于使用ajax加载的内容。 问题答案: 您需要在A

  • 问题内容: 今天早上,这使我发疯。我想将一些本地html加载到Web视图中: 该html文件位于我的项目的根文件夹中,但位于组中。Webview对我来说是空白的。有什么想法怎么了?我正在使用xcode 6.1并在iPhone 6上运行此示例。 问题答案: 要检索应用程序资源的URL,应使用类的方法。 迅捷2 迅捷3

  • 问题内容: 二者并具有可用于当网页被完全加载到检测信号。问题是网页上有一些异步加载的内容(ajax)。在这种情况下如何知道页面何时完全加载? 问题答案: 我实际上尚未做到这一点,但我认为您 可以 使用来实现您的解决方案。 您可以使用networkAccessManager ()函数从QWebPage获取QNetworkAccessManager 。QNetworkAccessManager的信号完

  • 问题内容: 我有一个PHP include,它需要一段时间才能加载,因为PHP必须获取很多数据。我不想放慢整个网页的加载,以等待包含此内容,那么如何使用ajax加载该包含内容呢?我不希望通过单击按钮来触发Ajax,而只是希望它在页面加载时加载包含,因此,如果您查看下面的示例,则会在显示内含代码的同时显示“更多HTML内容”。 php仍在加载中。 问题答案: 如果您使用的是jQuery,则可以使用他

  • 问题内容: 我正在使用@ font-face,但我讨厌Firefox显示默认字体,等待加载@ font-face字体,然后替换它。因此,整个页面都会以新字体闪烁。 Webkit浏览器只是在加载字体后才显示文本,而且外观更加简洁。 因此,我想知道jQuery是否可以帮助我知道何时加载页面上的所有数据(包括@ font- face文件),以便随后显示文本?是否有一个jQuery方法告诉我何时加载了所有

  • 问题内容: 如果不使用iframe,则可以加载以下内容: 与外部站点,例如somesitehere.com 页面何时加载?-我知道如何从文件加载内容,但是不确定如何加载整个网站吗? 非常感谢, 问题答案: 无需专门的操作就可以做到。由于标题中提到了jQuery,因此使用了jQuery。