簡體   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