0

これが私のコードです:

- (void)viewDidLoad
{
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSError *error;
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString *html = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
NSLog(@"%@", html);
[webview loadHTMLString:html baseURL:baseURL];
NSLog(@"error: %@", error);
}

html の内容は次のとおりです。

<html>
<head>
<script src="jquerymin.js"></script>
<script src="highcharts.js"></script>
<script src="exporting.js"></script>
</head>
<body>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

<script src="script.js"></script>
Test

<input type="button" id="button" />
</body>

</html>

Script.js:

$(function () {
var chart;
$(document).ready(function() {
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: 'Therapist productivity by Region'
        },
        tooltip: {
            formatter: function() {
                return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
            }
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    color: '#000000',
                    connectorColor: '#000000',
                    formatter: function() {
                        return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                    }
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Therapist Productivity',
            data: [
                ['South Carolina',   45.0],
                ['Michigan',       26.8],
                {
                    name: 'California',
                    y: 12.8,
                    sliced: true,
                    selected: true
                },
                ['Florida',    8.5],
                ['New York',     6.2],
                ['Maine',   0.7]
            ]
        }]
    });
});

});

$('#button').click(function() {
$(chart.container).hide();
chart.series[0].remove();
$(chart.container).show();
});

コードを実行すると、HTML のボタンと「テスト」が画面に表示されますが、読み込まれている .js ファイルの内容は表示されません。私はこれを正しく行っていますか?

4

3 に答える 3

0

問題は、ビルドフェーズで.jsファイルをコピーバンドルリソースに持ち込まなかったことです。ファイルを移動しましたが、完全に機能しました

于 2012-08-02T17:00:55.310 に答える
0

baseURL のバックスラッシュとスペースをエスケープしてみてください。Joe D'Andrea は、同様の (ただし完全に重複していない) 質問に対して適切な回答を提供しています。要約する:

 NSString *resourcePath = [[[[NSBundle mainBundle] resourcePath]
     stringByReplacingOccurrencesOfString:@"/" withString:@"//"]
     stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
 [webView loadHTMLString:markup baseURL:[NSURL URLWithString:
     [NSString stringWithFormat:@"file:/%@//", resourcePath]]];
于 2012-08-01T01:32:33.823 に答える
0

これはおそらくコメントのはずですが、十分な担当者がいないため、「回答」を得ています。

ソース内の js コードを物理的に見ることができないということなのか、それとも本来の動作の結果を見ることができないのか、私にはわかりません。前者の場合: script タグを使用して script.js を呼び出すと、HTML にコードがインラインで埋め込まれません。後者の場合: js コードは onload 属性または ready リスナーを使用して呼び出される必要があります。script.js を提供していただければ、さらにお役に立てます。

いずれにせよ、開始するのに適した場所は、HTML コードを検証することです: http://validator.w3.org/

于 2012-07-31T20:09:22.370 に答える