2

棒グラフ(視覚化API)を描画するために、を呼び出すASP.NET MVC3, Razor, jQuery Mobileものを使用しています。デスクトップブラウザでは正常に動作していますが、Androidブラウザでは奇妙なエラーで失敗します。java scriptsGoogle Chart API

nullのプロパティ'appendchild'を読み取ることができません。 "

Javaスクリプトコードは「Body」要素内にあります。コードは次のとおりです。-ファイルを含むマスターページなしで実行しようとしましたがjquery mobile script、同じ動作であるため、jquery mobile責任はありません。

@model System.Collections.Generic.List<Insight.CloudWeb.ViewModels.KeyFigureViewModel>
@{
ViewBag.Title = "KeyFigures";
Layout = null;

}

    google.load("visualization", "1", { packages: ["corechart","table"] });
    google.setOnLoadCallback(drawChart);

    function drawChart() {
        var data = new google.visualization.DataTable();

        @foreach (var obj in Model)
        {
            @: data.addColumn('number', '@obj.Description  @obj.Value');
        }
        i  = 0;
         data.addRows(1);

        @foreach (var obj in Model)
        {
            @: data.setCell(0, i, @obj.Value);

            @: i = i +1;
        }
        var chartBar = new google.visualization.BarChart(document.getElementById('chart_div'));
        chartBar.draw(data, { height: 340, width: 500, title: 'Key Figures', chartArea: {left: 2, top: 2}, colors:['blue','red','green','yellow','orange','purple'],legend: 'right' });
    }

</script>    
<div id='chart_div'>
</div>
<div id='table_div'>
</div>
4

1 に答える 1

3

これは、組み込みのAndroidブラウザがSVGをサポートしていないためです。(それは私にとって衝撃的なニュースでした)。2.4までGingerbreadAndroidの組み込みブラウザはSVG画像をサポートしておらず、Googleの視覚化によってSVG画像が生成されました。

HoneyCombから開始されたSVGサポート http://googlesystem.blogspot.com/2011/02/android-honeycombs-browser-supports-svg.html

Gingerbreadまで、SVG画像はサポートされていません:-http: //www.mobilexweb.com/blog/android-2-3-gingerbread-the-browser

オペラモバイルブラウザはAndroid携帯で非常に良い方法でSVGをサポートしていることがわかり、当面は同じように顧客に勧めます。

于 2011-06-23T09:19:12.053 に答える