Есть ли способы установить обратный вызов Google Onload внутри window.onload? - PullRequest
0 голосов
/ 06 июля 2011

вот мой код:

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

Есть ли способ, чтобы этот код работал?

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Функция из Google Documentation:

function loadMaps() {
  google.load("maps", "2", {"callback" : mapsLoaded});
}

Кажется, у нее есть объект обратного вызова, и вы можете назначить здесь любую понравившуюся вам функцию.

Google говорит:

Вы можете динамически загружать загрузчик API Google, создав элемент сценария и установив для его источника тот же URL-адрес "https://www.google.com/jsapi?INSERT-YOUR-KEY"" с дополнительным параметром обратного вызова запроса. Обратный вызов будет выполнен, когда загрузчик будет готов.

0 голосов
/ 06 июля 2011

Я подозреваю, что у вас проблема с использованием google.load прямо перед кодом, который его использует.Если я правильно помню, эта функция вводит кучу тегов сценариев в DOM для получения различных зависимостей JavaScript.Если вы поместите код, который использует эти зависимости, в тот же тег сценария, что и загрузка, то зависимость еще не будет обработана.Попробуйте:

<script>google.load(...);</script>
<script>
    // put the rest of your code here
</script>

и посмотрите, работает ли вышеуказанное.Вы также можете попробовать добавить некоторые записи в журнал, чтобы увидеть, что, если что-нибудь, вызывается, а также когда вызываются различные биты кода (например, вы установили window.onload слишком поздно?).

...