【问题标题】:jQuery load - Google visualizations pagejQuery 加载 - Google 可视化页面
【发布时间】:2009-06-17 16:50:39
【问题描述】:

我有一个带有几个链接和一个 div 的页面,在我将加载其他内容的同一页面上。 其中一些内容是谷歌可视化图表。

作为测试,我弹出了谷歌折线图代码。该页面可以自行加载,但是当我尝试将其加载到 div 中(使用 jQuery)时,它不起作用。 Firefox 说从 google.com 传输数据并且什么也不做,而 IE 6 有一个 JS 错误说 googleis undefined。

我不明白为什么会出现问题,但该页面位于 Intranet 上...如果这有助于故障排除。

提前感谢您的任何和所有帮助..

这是将 mainContent.html 文件加载到 div 中的代码。

    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#A2W").click(function(){
                $("#loadContent").load("mainContent.html");
            });
        }); 
    </script>

mainContent.html 的内容

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["linechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows(4);
        data.setValue(0, 0, '2004');
        data.setValue(0, 1, 1000);
        data.setValue(0, 2, 400);
        data.setValue(1, 0, '2005');
        data.setValue(1, 1, 1170);
        data.setValue(1, 2, 460);
        data.setValue(2, 0, '2006');
        data.setValue(2, 1, 860);
        data.setValue(2, 2, 580);
        data.setValue(3, 0, '2007');
        data.setValue(3, 1, 1030);
        data.setValue(3, 2, 540);

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, {width: 400, height: 240, legend: 'bottom', title: 'Company Performance'});
      }
    </script>
  </head>

  <body>
    <div id="chart_div"></div>
  </body>
</html>

【问题讨论】:

  • 您可以发布链接以便我们查看并尝试调试吗? :)
  • 刚刚编辑了我的问题以包含一些代码..

标签: javascript jquery google-visualization


【解决方案1】:

试图将整个 HTML 页面填充到 div 中,而 div 已经是 HTML 页面的一部分,这是灾难的根源。您将完成浏览器尝试找出如何处理所有错误位置的内容。以您刚刚插入的

元素为例 - 它应该尝试将其向上移动吗?它不能停留在原地,因为这没有任何意义。如果将它移动到原来的 下,它应该替换现有的 元素吗?

那么

已经有了 了;它应该扔掉吗?啊,但它不能,因为那样它会丢弃
内的 内的 ...

可以说,当你做这样的事情时,浏览器的行为是完全未定义的,它可能只是绝望地举起手,什么都不做。

【讨论】:

  • 哇..这很有见地...没有考虑所有这些方面。我明白你在说什么,所以我将不得不玩弄不同sn-ps代码的位置以更合乎逻辑..还有其他提示吗?有没有人这样做过? (我确定我不是第一个)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多