Web サイトでグラフを描画するために Google API を使用したいと考えています。ただし、google.setOnLoadCallback
機能に問題があります。これが私のコードです(簡略化):
試行 1: (正常に動作します)
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="js/styling.js"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(helloWorld);
function helloWorld() {
alert("Hello World");
}
</script>
試行 2: (正常に動作します)
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="js/styling.js"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(helloWorld);
</script>
そして、style.js に次のように記述します。
function helloWorld() {
alert("Hello World");
}
この場合、すべてが正常に機能します。
しかし...試行3(失敗!)
<script type="text/javascript" src="js/styling.js"></script>
そして、style.js で次のように記述します。
window.onload = function() {
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(helloWorld);
}
function helloWorld() {
alert("Hello World");
}
これは機能しません。helloWorld()
はまったく呼び出されていないようです。
なんで?