Javascript Google Gauge(数据图表可视化)未加载到ajax调用的页面中
我在将Google Gauge图表可视化集成到我的站点时遇到了一些问题。他们给出的示例代码是:Javascript Google Gauge(数据图表可视化)未加载到ajax调用的页面中,javascript,ajax,Javascript,Ajax,我在将Google Gauge图表可视化集成到我的站点时遇到了一些问题。他们给出的示例代码是: <script type='text/javascript' src='https://www.google.com/jsapi'></script> <script type='text/javascript'> google.load('visualization', '1', {packages:['gauge']}); google.setOnLoa
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Memory', 80],
['CPU', 55],
['Network', 68]
]);
var options = {
width: 400, height: 120,
redFrom: 90, redTo: 100,
yellowFrom:75, yellowTo: 90,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
chart.draw(data, options);
load('visualization','1',{packages:['gauge']});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
['Label','Value'],
[Memory',80],
[CPU',55],
[“网络”,68]
]);
变量选项={
宽度:400,高度:120,
红色从:90,红色到:100,
黄色从:75,黄色到:90,
米诺蒂克斯:5
};
var chart=new google.visualization.Gauge(document.getElementById('chart_div'));
图表绘制(数据、选项);
当id为chart_div的div在主体中时,此代码本身就可以正常工作。但是,ajax使用loadandsetactive调用我网站上的每个页面,并将其加载到“static”下的内容div中页眉。当在这些页面的页眉中输入相同的代码时,它无法加载。脚本甚至没有尝试加载的错误、空白图表或任何其他迹象。页面如何加载到内容div的示例如下:
<li class="menuItem" id="mypage">
<a href="#" onclick="loadAndSetActive('mypage.html', '#content', '#mypage');" >
<img src="myimage.png" width="100%" height="auto"/>My Page</a></li>
然后页面被加载到前面提到的标题下的content div中。该站点几乎完成了,但我似乎无法让这个工具正常工作。任何帮助都将不胜感激
编辑:澄清一下,一旦用户登录,ajax调用会自动加载我试图在div中绘制图表的仪表板。mypage是一个完整的html文件,带有自己的标记等。不幸的是,我的PHP和html/CSS比我的ajax和jquery好得多。请尝试在google.load中调用它,而不是使用setOnLoadCallback下面是代码片段:
google.load('visualization', '1', {
packages:['gauge'],
callback: drawChart
});
我可以告诉您,我使用Charts API的经验告诉我,目标元素必须在页面上并且可见,才能正确绘制图表。您可能需要加载新的HTML,然后调用图表函数。我从“mypage.HTML”调用所有函数目标元素是页面主体中的第一个div,我也检查了div id的大小写和拼写(并确保它是一个id,而不是类、名称等)您是否尝试了
mypage.html
中的console.log
来验证JavaScript是否正在执行?我今天刚进去,会尽快完成。很抱歉延迟。我检查了console.log,它显示脚本正在运行。响应正常,FireBug显示所有代码。我还尝试加载了它使用快速$(“#divid”).load(“stuff.html”)脚本直接进入目标div,但不做任何更改。目标div只是显示为空白。正如预期的那样,当脚本运行时,在该div中手动编码的任何文本或图像(除脚本外)都会被清除。在地址栏中键入stuff.html将加载一个正常工作的仪表,但.load()返回一个空白div。