从ios uiwebview调用AngularJS控制器函数
Calling AngularJS controller function from ios uiwebview
我有dashboard.html页面和DashboardController.js与dashboard.html相关联。我在UIWebview加载页面,现在我想从DashboardController.js从UIWebview调用一个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.
}
在确保dashboard.html已加载到uiwebview中后,我也尝试了没有控制器参考。NSString *jsCallBack = [NSString stringWithFormat:@"test()"];
而test()是在我的DashboardController.js作用域中的js函数。
function test (){
alert('sendCredentialsToNativeApp');
}
如果您在控制器JS中没有定义控制器引用,则应该调用此test()方法。但是,这只能在页面就绪状态之后才可用,因为在加载完成之前,您无法从控制器调用任何方法。
相关文章:
- AngularJS执行指令模板中的控制器函数
- Angularjs:路由后如何调用控制器函数
- 为什么控制器函数没有执行 Angular Js 1.5.5
- 在 html5 视频结束时调用 AngularJS 控制器函数
- Angularjs指令调用控制器函数
- 从浏览器调用角度控制器函数
- 如何在angular js中从指令调用控制器函数
- AngularJS-如何在ng中继器中调用以项值为参数的控制器函数
- Angularjs将函数从控制器传递到指令(或从指令调用控制器函数)-带参数
- 如何使用ajax从javascript调用控制器函数
- 触发视图'的控制器函数
- 从AngularJS中的视图调用控制器函数
- 当使用Angular1+ES6时,控制器函数中未定义依赖注入,控制器是一个类
- 从指令角度调用控制器函数
- 从指令调用控制器函数(使用从指令传递的参数)
- 从 Karma 和 Jasmine 测试调用控制器函数
- 从指令调用角度控制器函数
- 有什么方法可以放置一个触发器来在 CodeIgniter 的控制器函数中切换引导模式
- 如何修复角度 js ng 控制器函数调用
- 我可以将变量控制器函数传递给指令中的函数链接吗?