0

我正在处理 iOS 项目,并且已经使用 JS 完成了一个统计页面,当将其加载到 UIWebView 中时,一切都很好,动画效果很好

[WebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

并且 JS 代码在 document.Ready 中执行,当 DOM 准备好时..

 $(document).ready(function () { 
var s1 = [[2002, 112000], [2003, 122000], [2004, 104000], [2005, 99000] ];
});

我的问题是数据是在 IOS 中生成的,我想将此数据传递给 JS 以绘制带有漂亮动画的图表,我没有找到将参数传递给 document.Ready 的方法,所以我将其设为函数并在 IOS 中调用此函数并传递参数...所以我将代码更改为..

-(void)webViewDidFinishLoad:(UIWebView *)webView
{ 
 NSString * param  = @"foo";
 NSString * jsCallBack = [NSString stringWithFormat:@"myFunc('%@')",param];
 [webViewstringByEvaluatingJavaScriptFromString:jsCallBack];
 [webView stringByEvaluatingJavaScriptFromString:jsCallBack];
}

和 JS 到

function myFunc (var x) { 
var s1 = [[2002, 112000], [2003, 122000], [2004, 104000], [2005, 99000] ];
};

这样做实际上传递参数但动画不再出现,原因我不知道,当我将函数从 document.Ready 更改为另一个函数时,我已经尝试了很多在线准备好的 jS 图表它们出现但不要动画....那么有什么方法可以将参数传递给 document.Ready 吗?

4

1 回答 1

1

一开始直接发送你在iOS中生成的数据不是最简单的吗?我的意思是,当您加载 UIWebView 时,您可以发送参数(POST 或 GET)您的值。

于 2013-06-09T22:07:53.430 回答