我正在尝试将我的 javascript 放入外部文件中。但是,它只会内联启动。下面的第一个代码是我的主 php 文件。
<!DOCTYPE html>
<html lang="en">
<?php require "connection.php"?>
<?php require "datafromphpinhere.php"?>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Taitel</title>
<link href="stylin.css" rel="stylesheet">
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
</head><body>
<div id="console">
<div id="header"><h1>My Chart</h1></div>
<div id="chart"></div>
<div id="query"></div>
<script src="https://www.google.com/jsapi"></script>
<script src="jsthings.js"></script></div></body></html>
在我的 jsthings.js 文件中,我有以下代码:
google.load('visualization', '1.0', {'packages':['controls']});
google.setOnLoadCallback(vis);
function vis() {
var info = new google.visualization.DataTable(<?=$jsondata?>);
var dashboard = new google.visualization.Dashboard(
document.getElementById('console'));
var querycontrol = new google.visualization.ControlWrapper({
'controlType': 'NumberRangeFilter',
'containerId': 'query',
'options': {'filterColumnLabel': 'Food',
'width': 100}
});
var chart = new google.visualization.ChartWrapper({
'chartType': 'PieChart',
'containerId': 'chart',
'options': {
'width': 200,
'height': 650,
'vAxis' : {direction : -1},
chartArea: {backgroundColor: {stroke: 'black', strokeWidth: 1}},
'legend': 'none'}});
dashboard.bind(control, chart);
dashboard.draw(info);}
我已经放置了整个 php 和 js 的修改副本,因为我想知道我的问题是否与 DOM 相关。谷歌图表的功能和特性运行得很好。然而,无论出于何种原因,我只能让 jsthings.js 代码在我的主 php 文件上内联运行。当移动到自己的 js 文件时,它根本无法启动。
目标只是让它在加载时与主页一起启动。
如果div名称不一致,请不要介意。在为这个问题更改名称时,我可能错过了一些事情。
最佳答案
您可能遇到的问题是没有引用jsthings.js
。
确保文件路径正确。
另请检查您的控制台,看看是否遇到任何错误。
关于javascript - Google Chart 不会从外部 JavaScript 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664771/