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ページの上部にスクリプトタグを読み込むことであると推測しています。