我正在处理 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 吗?