JQuery Mobile不能在UIWebView中工作

经过许多小时的寻找解决scheme并尝试不同的方法来解决JQuery Mobile和我的iPad应用程序中遇到的这个问题,我才来到这里。

我试图做的是一个与Fusion图表的报告应用程序。 我已经使用不同的方法成功地在Web视图(UIWebView)中呈现图表,并且遵循不同的示例,但是现在我想要做的是使用JQuery Mobile框架完成相同的任务。

没有使用PhoneGap,我已经按照JQuery Mobile + Xcode集成(我认为)这封信的步骤。 图表在我的桌面和移动浏览器(iPad,iPhone 4和iPod Touch 2G)上加载没有问题,但是它们无法在我的UIWebView中加载(即使我使用的是相同的代码)。

这就是我正在做的事情:

1)将所需文件(JS,CSS和HTML)添加到项目以在本地使用。 添加它们之后,我将.js扩展名中的所有内容从“编译源代码”移动到“复制软件包资源”。 它看起来像这样:

在这里输入图像说明

在这里输入图像说明

2)将我的HTMLtesting文件(page_A1.html)加载到Web视图中:

在这里输入图像说明

3)使用正确的path和最新版本的框架检查是否在HTML文件上设置了一切:

在这里输入图像说明

4)build立和运行只是为了得到一个空白的networking视图。

如果我用这样的警报testingJavascript:

在这里输入图像说明

它会显示提醒certificateJavascript正在工作:

在这里输入图像说明

如果我在图表应该显示的容器上放置一些文本:

在这里输入图像说明

我将在Web视图中获取文本:

在这里输入图像说明

我还testing了远程框架链接,而不是本地和老版本的库,没有运气。 没有什么不同:

在这里输入图像说明

对我来说这似乎很明显

$(document).ready(function(){ 

没有被xcode注意或调用。

这是我想要完成的:

在这里输入图像说明

我不知道还有什么要testing的。 如果你有任何想法,我会感激不尽。

没关系的人。 我终于明白了

networking开发时代的一些旧习惯在这里扮演着我的angular色。

它发出你不必为你的CSS和JS文件指定内部目录结构,所以:

 <link rel="stylesheet" href="css/jquery.mobile-1.1.0.min.css" /> <script src="js/jquery-1.7.2.min.js"></script> <script src="js/jquery.mobile-1.1.0.min.js"></script> 

在Xcode中真的是这样的:

 <link rel="stylesheet" href="jquery.mobile-1.1.0.min.css" /> <script src="jquery-1.7.2.min.js"></script> <script src="jquery.mobile-1.1.0.min.js"></script> 

令人难以置信的是我花了多less时间才发现这一点。

现在它正在工作。

正确的做法是将JS文件加载到String中,并调用UIWebView的[stringByEvaluatingJavascriptFromString:@“Javascript here …”]方法。

  NSString *filePath = [[NSBundle mainBundle] pathForResource:@"content" ofType:@"js" inDirectory:@""]; NSData *fileData = [NSData dataWithContentsOfFile:filePath]; NSString *jsString = [[NSMutableString alloc] initWithData:fileData encoding:NSUTF8StringEncoding]; [webView stringByEvaluatingJavaScriptFromString:jsString]; 

虽然这并没有太大的不同,然后将它们硬编码到html文件中,但它确实模块化了它。 快乐编码:)

Interesting Posts