$ (window).load(функция(){ не работает на странице iframe в IE

#jquery #internet-explorer

#jquery #internet-explorer

Вопрос:

У меня есть приведенный ниже код на моей странице iframe.

  $(window).load(function() {
    // No we can paint our canvas. Something rounded with a shadow ;-)
    $("#main-outer").liquidCanvas(

        "[shadow gradient{from:#000000; to:#ffffff;}] => roundedRect{radius:10}");
  }); 
  

при загрузке родительской страницы код внутри страницы iframe не работает.
Когда я запускаю страницу iframe по отдельности, она работает нормально.
У меня эта проблема только в IE.

Проблема в том, что $(window).load(function(){ не работает на странице iframe. Как это исправить?

Этот плагин liquid canvas работает с $ (window).load (function()), а не с другими функциями

Комментарии:

1. Почему вы используете $(window).load в своем iframe вместо использования $(document).ready ?

2. событие загрузки Windows произойдет очень скоро, попробуйте вместо этого использовать document ready … $(document).ready( ... );

3. @balexandre: «событие загрузки Windows произойдет слишком скоро» Вы имеете в виду слишком поздно.

4. @balexandre Событие window load обычно запускается после события document ready — load ожидает загрузки ресурсов, таких как изображения, в то время как ready ожидает только, пока DOM не будет, ну, готов

Ответ №1:

Очевидно, вы не единственный, на странице API load функции есть пара комментариев от людей, которые говорят, что у них такая же проблема.

Если вы еще не пробовали это, вы могли бы попробовать скучный старомодный обработчик событий DOM0:

 window.onload = function() {
    // No we can paint our canvas. Something rounded with a shadow ;-)
    $("#main-outer").liquidCanvas(
        "[shadow gradient{from:#000000; to:#ffffff;}] => roundedRect{radius:10}"
    );
};
  

…на случай, если у IE возникнут какие-либо проблемы с его механизмом DOM2. (По разным причинам это несколько отдельные механизмы.)