Запуск события загрузки iFrame на локальном хосте, но не на сервере

У меня есть iFrame, который загружает некоторый контент с некоторого URL-адреса того же происхождения. При загрузке этого iFrame у меня есть javascript. Это отлично работает на моем локальном компьютере с Windows, но когда я загружаю код на свой сервер на основе RHEL, событие загрузки IFrame вообще не запускается! Мне интересно, какие могут быть возможные причины этого.

<iframe src="http://www.example.com/foo" id="hid-if"></iframe>

<script>
 (function () {
     var
     nIframe = $.getElementById('hid-if');
     nIframe.addEventListener('load',handler,false);

     function handler () {
          //some work
     }

  })();
</script>

person krisk    schedule 08.04.2014    source источник


Ответы (1)


Почти каждый JavaScript project starts off with a conversation about browser compatibility. Как бы нам ни хотелось думать, что JavaScript — это JavaScript, каждый браузер имеет собственную реализацию; и в зависимости от того, что вы пытаетесь сделать, эти реализации могут быть drastically different from one another.

Unfortunately it is not possible to use an iframe's onload event in Chrome, если содержимое является вложением. Ни один из этих браузеров не предоставляет никаких событий для iFrames loaded with content с типом расположения "Вложение".

Нажмите здесь для получения дополнительной информации:События, ожидаемые при динамической загрузке iFrames в JavaScript

person KesaVan    schedule 08.04.2014