2012-02-05 47 views
0

MacOSアプリケーションにチャートを作成しようとしていて、ネイティブobjective-cで利用可能なオプションが限られているのではなく、HTML 5を使い、 WebViewコントロール。Javascriptを使用してWebViewでHTML5チャートをレンダリングする

私はWebViewを埋め込むことができました。これは、アプリケーションの一部であるindex.htmlファイルにリンクして、次のようにします。

// Load the HTML content. 
NSString *resourcesPath = [[NSBundle mainBundle] resourcePath]; 
NSString *htmlPath = [resourcesPath stringByAppendingString:@"/index.html"]; 
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]]; 

私はこれを単純にhtmlでテストしたので、接続しても問題はありません。しかし、いくつかのCSSとJSを含むより複雑なコードを埋め込むと、レンダリングされません。サファリウィンドウにindex.htmlをロードすると、グラフがレンダリングされます。

Javascriptを実行するために何か必要なことはありますか?余分な詳細については

、チャートがJQPlotを使用し、インデックスファイルの内容は...

<html> 
<head> 
    <script language="javascript" type="text/javascript" src="jquery.min.js"></script> 
    <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script> 
    <link rel="stylesheet" type="text/css" href="jquery.jqplot.min.css" /> 
</head> 

<body> 

    <div id="chartdiv" style="height:200px;width:300px; "></div> 

    <script> 
    $.jqplot('chartdiv', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]]); 
    </script>  
</body> 
</html> 

アップデート:

私はより多くの分析を行った、と私が発見しました私は標準のjavascriptを実行できますが、jQueryは機能しません。だから、私は問題は、HTMLページの上部にスクリプトタグを読み込むことであると推測しています。

答えて

0

JSファイルは単純にコピーされるのではなく、コンパイルされていることが分かりました。同様の問題 - iPhone UIWebView local resources using Javascript and handling onorientationChangeが見つかりました。

答えは、メインターゲットをクリックしてからCompile SourcesリストからCopy Bundle ResourcesリストにJSファイルを移動した後、[ビルドフェーズ]タブに移動することでした。

関連する問題