2010-07-15 4 views
0

Интересно, если я используюGoogle Ajax Library API & JQuery (функция() {})

google.load("jquery", 1); 
google.setOnLoadCallback(function() { 
    // i still need to check if document has finished loading with 
    $(function() { 
     // do stuff 
    }); 
}); 

вопрос, когда google.setOnLoadCallback() называется это не означает, что документ завершил загрузку правильно? или я могу сделать что-то вроде ... ниже ... сразу?

google.setOnLoadCallback(function() { 
    $("#elem").doSomething(); 
}); 

ответ

1

От Google AJAX API docs:

google.setOnLoadCallback используются в качестве помощника для window.onload, который бывает только один раз, когда документ загружает. Поэтому для динамической загрузки API (например, после взаимодействия с пользователем) вместо этого следует использовать google.load с опцией обратного вызова (см. Ниже).

window.load всегда будет огонь после того, как DOMContentLoaded, что является эквивалентом jQuery(document).ready для большинства случаев. Когда недоступно, jQuery вернется к onreadystatechange или onload (IE), или load (стандарт).

Поскольку худший случай, если оба jQuery и google возвращаются к событию load, вы можете безопасно использовать второй метод.