Cómo llamar a js en ios y obtener el valor de retorno
#pragma mark - UIWebViewDelegate
-(BOOL)webView: (UIWebView *)webView deberíaStartLoadWithRequest: (NSURLRequest * )Tipo de navegación de solicitud: (UIWebViewNavigationType) Tipo de navegación
{
NSURL * URL = [URL de solicitud];
if([[esquema de URL]isEqualToString: @ " primer clic "]){
NSArray * params =[URL . componentes de consulta separados por cadena: @ " amp;];
NSMutableDictionary * tempDic =[NSMutableDictionary diccionario];
for(ns string * paramStr in params){
ns array * di array =[paramStr componentes separados por cadena:@ " = "]
if(di array . count gt; 1) {
ns cadena * valor de decodificación =[di array[1]stringByReplacingPercentEscapesUsingEncoding: codificación de cadena nsu TF 8];
[tempDic set object: valor de decodificación forKey: di carray[0]];
}
}
uialertview * alert view =[[uialertviewalloc]init con título:@ "Modo 1" mensaje: @ "Esta es la ventana emergente original de oc" delegado: mosaico del botón de cancelación automática: @ " Recibido " otros títulos de botones: nil]
[alert view show]
NSLog(@"tempDic :@ ", tempDic
Devolver No
}
Devolver SÍ
} p>
Nota:primero haga clic en 1. JS, todos los esquemas de URL interceptados se convierten a minúsculas.
La codificación debe configurarse en 2.html; de lo contrario, puede haber problemas de codificación con los parámetros chinos.
3.JS utiliza el método de abrir un iFrame en lugar de usar document.location directamente para evitar el problema de múltiples solicitudes y ser sobrescrito por reemplazo.