2011-07-06 69 views
0

這裏的功能衝突是我的代碼:谷歌setOnloadcallback()與在window.onload

window.onload = function(){ 
    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(function(){ 
    alert("Message"); 
    }); 
} 

我知道,如果我把谷歌外載荷的window.onload它會奏效。但我希望它在window.onload內。有什麼建議麼?

感謝

+0

如果它不起作用,你爲什麼要它在那裏? – alex

+0

爲什麼要在加載事件觸發後將事件附加到加載事件? –

回答

1

據我所知,谷歌裝載機使用document.write將腳本添加到頁面。 document.write只在窗口完全加載之前工作,所以看起來你不能在window.onload裏面使用google.load。我建議在google.setOnLoadCallback函數裏面加入你需要的任何代碼 - window.onload在那裏工作正常。

或者,您可以自動加載谷歌的API,以便onLoadCallback不需要這樣的(詳情參見文檔):

<script type="text/javascript" src="http://www.google.com/jsapi?autoload={modules:[{name:gdata,version:2.x,packages:[blogger]}]}"></script> 

還檢查了jQuery庫,因爲它的功能類似於$(document).ready()這大大提高在window.onload上。

+0

謝謝,這是內容豐富的。 – Nit