,可以通过以下步骤实现:
webViewDidFinishLoad:
来实现。该方法会在页面加载完成后被调用。webViewDidFinishLoad:
方法中,可以通过JavaScript来获取页面中的回调信息。可以使用stringByEvaluatingJavaScriptFromString:
方法执行JavaScript代码,并将结果返回给Objective-C。onreadystatechange
事件来监听请求状态的变化。当请求状态变为4(即请求完成)时,可以获取到请求的响应数据。stringByEvaluatingJavaScriptFromString:
方法将回调信息传递给Objective-C。以下是一个示例代码:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSString *ajaxCallback = @"function getAjaxCallback() { return 'Ajax callback data'; }";
[webView stringByEvaluatingJavaScriptFromString:ajaxCallback];
NSString *callbackData = [webView stringByEvaluatingJavaScriptFromString:@"getAjaxCallback();"];
NSLog(@"Ajax callback data: %@", callbackData);
}
在上述示例中,首先定义了一个JavaScript函数getAjaxCallback()
,该函数返回了一个固定的回调数据。然后通过stringByEvaluatingJavaScriptFromString:
方法执行该JavaScript代码。
接着,通过stringByEvaluatingJavaScriptFromString:
方法调用getAjaxCallback()
函数获取回调数据,并将其打印输出。
需要注意的是,上述示例中的回调数据是固定的,实际应用中可以根据具体情况修改JavaScript代码来获取真实的回调数据。
对于UIWebView加载完Ajax时获取回调的应用场景,可以是在需要获取动态数据的页面中,通过监听Ajax请求的完成事件来获取最新的数据,并进行相应的处理,例如更新UI界面或执行其他操作。
推荐的腾讯云相关产品:腾讯云移动浏览器(Tencent Mobile Browser)。腾讯云移动浏览器是一款基于WebKit内核的移动浏览器,支持多种前端开发技术和功能扩展,可以满足移动应用开发中对于UIWebView加载Ajax时获取回调的需求。详情请参考腾讯云移动浏览器官方介绍:腾讯云移动浏览器。
领取专属 10元无门槛券
手把手带您无忧上云