我有一个带有一些链接和一个div的页面,在同一页面上我会加载其他内容。 其中一些内容是谷歌可视化图表。
就像测试一样,我弹出谷歌折线图代码。页面加载很好,但是当我尝试将它加载到div(使用jQuery)时,它不起作用。 Firefox说从google.com转移数据并没有做任何事情,IE 6有一个JS错误,说google
未定义。
我不知道为什么这会出现问题,但该网页位于内部网上...如果这有助于排查问题。
提前感谢您提供任何帮助..
以下是将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>
答案 0 :(得分:1)
尝试将整个HTML页面填充到div(已经是HTML页面的一部分)中,这是一种灾难。你将完成浏览器试图弄清楚如何处理错误位置的所有事情。拿&lt; head&gt;你插入的元素,例如 - 它应该尝试将其移动吗?它不能停留在原地,因为这没有任何意义。如果它将其移动到原始&lt; html&gt;下,它是否应该替换现有的&lt; head&gt;元件?
那么&lt; body&gt;呢?它已经有一个&lt; body&gt ;;它应该扔掉吗?啊,但它不能,因为它抛弃了&lt; body&gt;在&lt; html&gt;内在&lt; div&gt; ...
内我只想说当你做这样的事情时,浏览器的行为是完全未定义的,它可能只会让人绝望而且无所作为。