Начал писать свой плагин живого поиска с помощью Гугл API. Все было бы хорошо, но в момент вызова google.load("search","1") возникал ужасный баг, который делал всю страницу белой (очень похоже на момент, когда на странице неправильно сработал document.write).
Т.к. я подгружал jsapi с помощью jQuery функции $.getScript("http://www.google.com/jsapi?key=KEY") и далее использовал Callback в котором вызывал google.load, отследить момент ошибки было очень сложно. Самое интересное, что в браузере никаких Javascript-ошибок не возникало. Поэтому, я начал пробовать подгружать скрипты отдельно перед тегом </head> (так говорилось в Google-документации). И вуаля, проблема сразу исчезла, но меня это не устраивало, т.к. подгружать кучу скриптов не хотелось, ведь поиском на странице могли воспользоваться, а могли и не пользоваться.
Чтобы выяснить в чем косяк, я выполнил подгрузку скриптов поиска google.load("search","1") через <script language="Javascript" type="text/javascript" src="http://www.google.com/uds/?file=search&v=1"></script> и уже после подгружал jsapi с помощью $.getScript. И случилось невероятное, консоль ошибок в браузере показала ошибку "google_exportSymbol is not defined", по которой и был найден ответ в google-ajax-apis
И тут, разработчик объяснил проблему посоветовав использовать свой callback для функциии google.load. Я попробовал поставить обычную callback-функцию заглушку, и это полностью решило проблему. Так что, если Вы сталкивались с подобным, то просто применяйте функцию кэллбэк заглушки, например так:
google.load("search","1",{'nooldnames': true, "callback":myCallbackBlank});
function myCallbackBlank(){ }
Полезные ссылки: примеры, комната тестирования, интересная статья для новичков
Удачного программирования ;)