iOS UIWebView Javascript - insert data -receive callbacks?

后端 未结 3 1869

I have a webpage. I have a javascript file that does a whole lot of stuff. In the app I have an NSString with some crucial data that needs to be processed in the javascrip

3条回答
  •  遥遥无期
    2020-12-07 20:07

    You can call a javascript method and pass the value by using this

    NSString *selectedValue = [webViewInstance stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"getAndReturnRadioValue(%d)", questionCounterIntValue]];
    

    But to trigger back from javascript you need to use a workaround method,

    Implement the following webViewDelegate method

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
    
        NSLog(@"passed data from web view : %@",[[request URL] query]);
    
        if([[[request URL] query] isEqualToString:@"clickedOnLineNo"])
        {
            //Do your action here    
        }
    }
    

    You have to navigate to a fake URL from your javascript method like,

    window.location = "someLink://yourApp/form_Submitted:param1:param2:param3";
    

    on a button click or your required action.

    You could take a look at my answer for this question Submit a form in UIWebView

提交回复
热议问题