JQuery и кадры - $ (документ) .ready не работают

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
16
задан Jason Plank 1 November 2011 в 18:33
поделиться

7 ответов

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

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

2
ответ дан 30 November 2019 в 22:44
поделиться

Если Вы хотите стрелять onload событие для Ваших кадров, то выполните эти шаги:

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

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

    $("frameName").ready(function() { 
      // Write your frame onload code here
    }
    
2
ответ дан 30 November 2019 в 22:44
поделиться

Не уверенный, что Вы пытаетесь сделать, но у меня есть еще более старое классическое приложение asp, которое работает из кадров, и я просто недавно добавил функциональность jQuery, и она работает отлично. $ (документ) .ready () хорошо работает в кадре, но если Вы хотите сослаться на DOM в другом кадре, необходимо будет использовать onload событие Кадра для сообщения, когда DOM кадра загружается. По общему признанию я использовал iFrames, но понятие должно быть тем же.

0
ответ дан 30 November 2019 в 22:44
поделиться

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

1
ответ дан 30 November 2019 в 22:44
поделиться

Я не знаю, является ли это лучшее решение, но когда я удаляю $(document).ready() и держу его тело, все работает отлично.

0
ответ дан 30 November 2019 в 22:44
поделиться

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

, При попытке использовать эту внутреннюю часть страница HTML, которая содержит определение кадра, имейте в виду, что нет никакого документа там, необходимо будет использовать

-2
ответ дан 30 November 2019 в 22:44
поделиться

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

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

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

это сработало:

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

Хотя событие срабатывает не так быстро - оно ждет, пока загрузятся изображения и css.

7
ответ дан 30 November 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: