javascript - 如何使用 angularjs 延迟加载 google jsapi 图表?

标签 javascript angularjs google-visualization

我有一个单页应用程序,但有不同的选项卡。 我只想为一个选项卡显示 google charts。我不想直接包含和加载图表 js 文件 jsapi,但前提是访问特定选项卡。

因此我必须动态添加js如下:

var script = document.createElement('script');
script.src = '//http://www.google.com/jsapi?ext.js';
document.body.appendChild(script);

问题:如何检测js何时加载完毕,以便继续如下操作?

if (whenJspaiLoaded()) {
    google.load('visualization', '1', {packages: ['corechart']});
    google.setOnLoadCallback(drawChart); //my custom function
}

最佳答案

这是我的实现

    <style>
    .preloader {
        height:350px; background:url(images/719.gif) left no-repeat;
    }
    </style>
    <div id="columnchart_material"><div class="preloader">&nbsp;</div></div>
<script type="text/javascript"
          src="https://www.google.com/jsapi?autoload={
            'modules':[{
              'name':'visualization',
              'version':'1',
              'packages':['corechart']
            }]
          }">
</script>
    <script>
google.setOnLoadCallback(drawChart);

      function drawChart() {
    var chart = new google.visualization.LineChart(document.getElementById('columnchart_material'));
                options.title='English'
                options.series[1].lineWidth = 0;
            chart.draw(data,options );
}
    </script>

密码本 click here

关于javascript - 如何使用 angularjs 延迟加载 google jsapi 图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36763921/

相关文章:

layout - 谷歌图表仪表板和 Bootstrap 行结构

php - 具有两个图表系列的 Google 图表 (SQL/PHP)

javascript - 将 node.js fs 与 Webpack 一起使用

javascript - Three.js - 导入带有纹理的 3d 对象

javascript - jQuery/AJAX 验证后提交

javascript - 用 Angular 渲染动态占位符

angularjs - Angular 1.1.5或 Angular 1.0.7

javascript - Firebase 存储数据最佳实践

javascript - Vue.js 更新组件中嵌套 props 同步对象的值

javascript - 创建一个 session 以不再在投票中投票