Ошибка в API гистограммы визуализации Google в браузере Android

Я использую ASP.NET MVC3, Razor, jQuery Mobile и имею java scripts, который вызывает Google Chart API, для рисования гистограммы (API визуализации). Он отлично работает в браузерах для настольных компьютеров, но выдает странные ошибки в браузерах Android.

«Невозможно прочитать свойство 'appendchild', имеющее значение null."

Код 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>

person Anand    schedule 20.06.2011    source источник


Ответы (1)


Это связано с тем, что встроенные браузеры Android не поддерживают SVG. (Для меня это была шокирующая новость). До версии 2.4 Gingerbread встроенный браузер Android не поддерживает изображения SVG, а визуализация Google генерирует изображения SVG.

Поддержка SVG началась с HoneyComb 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

обнаружил, что мобильный браузер Opera очень хорошо поддерживает SVG на телефонах Android, и на данный момент буду рекомендовать моим клиентам то же самое.

person Anand    schedule 23.06.2011