0

是否可以在 UIWebView 中监听 Javascript 发布的通知?还是类似的?我曾想过在 Objective-C 中重复一个函数来监视 JS 变量,但肯定有更好的方法吗?

我想监听特定图像何时加载到 UIWebView(我可以使用 jQuery 中的 .load 方法),当图像加载时我想隐藏一个原生 UIActivityIndi​​cator。我不想在网络视图中使用 gif!

IE

$('img.someImage').load(function(){
//fire something for obj-c to listen to!
});
4

1 回答 1

2

将事件从您的 html 页面传递到 iPhone 应用程序的唯一方法是使用 url,

当你想传递一个特殊的偶数时,让你的 js 将你的导航更改为一个新的 url,例如,"MyCustomURl://DoSomeThing"

现在在您的 iPhone 应用程序中,将委托设置webViewself

并添加以下功能

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSString *absolute = [request.URL absoluteString];

    if ([absolute isEqualToString:@"MyCustomURl://DoSomeThing"]) {
        //Do what you want here
        return NO;//this will not load the url
    }

    return YES;
}
于 2012-06-30T12:19:24.397 回答