#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. (По разным причинам это несколько отдельные механизмы.)