Quiero usar jquery en mi programa iphone. ¿Es posible?¿Cómo puedo usar jquery en mi programa ios?
Si es así, cualquier persona me ayuda con algunos pasos principales: qué archivos tengo que importar o algo esencial.
Gracias de antemano.
Quiero usar jquery en mi programa iphone. ¿Es posible?¿Cómo puedo usar jquery en mi programa ios?
Si es así, cualquier persona me ayuda con algunos pasos principales: qué archivos tengo que importar o algo esencial.
Gracias de antemano.
Puede usar jQuery Mobile en webviews, o un SDK multiplataforma como PhoneGap que creará webviews para usted.
Sí, puedes. Puede usar JQuery Mobile. Considere su aplicación y la arquitectura de su aplicación y qué es lo que está tratando de lograr antes de comenzar. Si desea crear una "aplicación web", escrita en HTML, JQuery/Javascript y CSS, que se representará dentro del navegador Safari de iPhone, puede "ajustar" su aplicación web en una aplicación de iPhone "nativa" que se puede descargar e instalado en el iPhone desde App Store. Consulte el JQuery Mobile documentation desde su dispositivo móvil (iPhone) y vea qué opciones son posibles. Recomiendo comenzar con "Páginas & Diálogos/Anatomía de una página", en el documento para iniciar la "aplicación web". Puede usar PhoneGap para crear la aplicación Objective-C, XCode que se enviará a Apple. Puede comenzar con Safari Development here.
Si desea utilizar jQuery en una URL remota dentro de un UIWebView se puede inyectar usando stringByEvaluatingJavaScriptFromString
Aquí hay dos métodos para hacer eso, he optado por la segunda:
1. Cargar jQuery remota desde googleapis.com
Nota: el parámetro andJS:
puede ser una copia de seguridad de vainilla JS en caso de que no se carga jQuery:
- (void)injectJQuery:(NSString *)jQuery andJS:(NSString *)js {
// Load jQuery from googleapis.com
NSString *jsString = @"function loadJQuery(e){try{if(typeof jQuery=='undefined'||typeof jQuery.ui=='undefined'){var t=10;var n=0;var r=document.getElementsByTagName('head')[0];var i=document.createElement('script');i.type='text/javascript';i.src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';r.appendChild(i);checkjQueryLoaded=setInterval(function(){if(t<n){window.clearInterval(checkjQueryLoaded)}n++},300);n=0;checkLoaded=setInterval(function(){if(typeof jQuery!='undefined'){window.clearInterval(checkLoaded);e(true)}else if(t<n){window.clearInterval(checkLoaded);e(false)}n++},500)}}catch(s){e(false)}}loadJQuery(function(e){if(e){__JQUERY__}else{__JS__}})";
jsString = [jsString stringByReplacingOccurrencesOfString:@"__JQUERY__" withString:jQuery];
jsString = [jsString stringByReplacingOccurrencesOfString:@"__JS__" withString:js];
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
}
El único inconveniente de esto es que tarda un segundo antes de que se cargue jQuery desde Google. Esto no era aceptable para mi situación, así que utiliza este lugar:
2. Cargar jQuery localmente desde su mainBundle (solución mejor creo)
crear un nuevo archivo llamado jquery.js
; pegue los contenidos de jQuery en él; asegúrese de que se haya agregado al Copiar recursos del paquete en Fases de compilación; entonces ...
- (void)injectJQuery:(NSString *)jQuery {
NSString *path = [[NSBundle mainBundle] pathForResource:@"jquery" ofType:@"js"];
NSString *jsString = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
jsString = [jsString stringByAppendingString:jQuery];
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
}
Gracias. Quiero mas explicacion Los pasos principales. – cyberworld