繁体   English   中英

从iOS uiwebview调用AngularJS控制器函数

[英]Calling AngularJS controller function from ios uiwebview

我有dashboard.html页面,并且DashboardController.js与dashboard.html相关联。 我正在UIWebview中加载页面,现在我想从uiwebview的DashboardController.js中调用angularjs函数。 它不会被调用。

以下是我在iOS中尝试的代码

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    NSURL *url = [request URL];
    NSLog(@"URL:%@",url);
    if (![Utility isInternetAvailable]) {
        return FALSE;
    }
    NSString *jsCallBack = [NSString stringWithFormat:@"DashboardController.test()"];
    NSString *response =  [webView stringByEvaluatingJavaScriptFromString:jsCallBack];
    NSLog(@"%@",response);
    return YES; // Return YES to make sure regular navigation works as expected.
}

在确保已将dashweb.html加载到uiwebview中之后,我也尝试了没有Controller引用的情况。 NSString * jsCallBack = [NSString stringWithFormat:@“ test()”];

虽然test()是DashboardController.js范围内的js函数。

function test (){
  alert('sendCredentialsToNativeApp');
}

提前致谢。

如果在控制器JS中定义了没有控制器引用的方法,则应调用此test()方法。 但是,这仅在页面就绪状态之后可用,因为您无法从控制器调用任何方法,直到其完全加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM