如何在我的ios程序中使用jquery?

时间:2011-09-13 04:05:31

标签: jquery iphone ios

我想在我的iphone程序中使用jquery。有可能吗?

如果是这样,任何人都会帮助我完成一些主要步骤:我必须导入哪些文件或必要的文件。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您可以在网页浏览中使用jQuery Mobile,也可以使用PhoneGap等跨平台SDK,为您创建网页浏览。

答案 1 :(得分:2)

如果您想在UIWebView中的远程URL上使用jQuery,可以使用stringByEvaluatingJavaScriptFromString

注入它

这是两种方法,我选择了第二种方法:

<强> 1。从googleapis.com远程加载jQuery

注意:andJS:参数可以是一个vanilla JS备份,以防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];
}

唯一的缺点是在从Google加载jQuery之前需要一秒钟。这对我的情况是不可接受的,所以我用它代替:

<强> 2。从mainBundle本地加载jQuery(我认为更好的解决方案)

创建一个名为jquery.js的新文件;将jQuery的内容粘贴到其中;确保将其添加到构建阶段中的复制捆绑资源;然后...

- (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];
}

答案 2 :(得分:0)

是的,你可以。您可以使用JQuery Mobile。在开始之前,请考虑您的应用程序和应用程序体系结构以及您要完成的任务。如果您想创建一个用HTML,JQuery / Javascript和CSS编写的“Web应用程序”,它将在iPhone Safari浏览器中呈现,您可以将Web应用程序“包装”在可以下载的“本机”iPhone应用程序中并从App Store安装到iPhone中。仔细阅读移动设备(iPhone)中的JQuery Mobile documentation并查看可能的选项。我建议从文档中的“页面和对话框/页面解剖”开始,以启动“Web应用程序”。您可以使用PhoneGap创建将提交给Apple的Objective-C,XCode应用程序。您可以开始使用Safari Development here