Это одна из самых распространенных проблем в веб-разработке. Вы используете window.onload
, который не jquery. Это часть Document Object Model (DOM), и, как вы заметили, она не работает должным образом. Вот почему ребята @ jquery придумали готовый документ:
$( document ).ready(function() {
console.log( "ready!" );
});
или просто
$(function() { console.log("ready!"); });
https://learn.jquery.com/using-jquery-core/document-ready/
ОБНОВЛЕНИЕ : согласно комментарию к другому ответу, я получаю, что вам нужно подождать, пока iframe загрузит ваш компонент представления. Это так? Если это так, попробуйте прослушать объект iframe document
, iframe похож на другую целую веб-страницу, встроенную на ваш сайт, поэтому для него есть еще один объект document
. Вы можете получить доступ к этому объекту из родительского объекта, используя
document.getElementById('divSearch').contentWindow.document
, вы видите документ, содержащий другой документ, который фактически является тем, что мы делаем с iframe. Остерегайтесь, эта строка не будет работать, если документ, который вы загружаете в iframe, не находится в том же источнике (не является частью или той же веб-страницей, или в том же TLD), но, как вы сказали нам, это viewComponent this не тот случай, наверное.
Чтобы подвести итог, попробуйте вместо этого $(iframe#youriframeid).ready(function() { console.log("ready!"); })
.