JQuery и фреймы – $ (document) .ready не работает

У меня есть страница с некоторым кодом в js и jQuery, и она работает очень хорошо. Но, к сожалению, весь мой сайт очень старый и использует фреймы. Поэтому, когда я загружал свою страницу внутри фрейма, $(document).ready() не запускается.

Мой набор фреймов выглядит так:

  • Изменить размер для текстового поля?
  • Преобразование координат мира в координаты экрана в файле Three.js с использованием проекции
  • Как вызвать функцию самоисполнения в JavaScript?
  • Обнаружение браузера Закрыть на Asp.net
  • Как клонировать экземпляр класса JavaScript?
  • Позиционирование нескольких, случайных размеров, абсолютно позиционированных элементов, чтобы они не перекрывались
  •  <frameset rows="79,*" frameBorder="1" frameSpacing="1" bordercolor="#5996BF" noresize> <frame name="header" src="Operations.aspx?main='Info.aspx'" marginwidth="0" marginheight="0" scrolling="no" noresize frameborder="0"> <frame name="main" src="Info.aspx" marginwidth="0" marginheight="0" scrolling="auto" noresize frameborder="0"> </frameset> 

    Моя страница загружается в main фрейм. Что мне делать?

    5 Solutions collect form web for “JQuery и фреймы – $ (document) .ready не работает”

    Я попробовал метод, упомянутый в другом комментарии:

     $("#frameName").ready(function() { // Write you frame on load javascript code here } ); 

    И это не сработало для меня.

    Это сделало:

     $("#frameName").load( function() { //code goes here } ); 

    Даже при том, что событие не срабатывает так быстро – оно ждет, пока загрузятся изображения и css.

    Я предполагаю, что это аналогичная проблема, с которой я столкнулся с DOMContentLoaded в iframe.

    Я написал сообщение в блоге об этом .

    Если вы хотите запустить событие onload для своих кадров, выполните следующие действия:

    1. Назначьте id и name для каждого <frame> . Убедитесь, что значение атрибута id и name одинаково.

    2. Используйте следующий код, чтобы запустить событие onload в кадре:

       $("frameName").ready(function() { // Write your frame onload code here } 

    Я знаю, что это старая тема. Но чтобы помочь некоторым из вас, кто достигает этой страницы, вот мое решение:

     $($("#frameName")[0].contentWindow.document).ready(function() { // Write you frame onready code here }); 

    Вы пытались поместить код jQuery на страницу Info.aspx?

    JavaScript делает сайт умным, красочным и простым использованием.