Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2013, 14:35
Новичок на форуме
Отправить личное сообщение для irvin12345 Посмотреть профиль Найти все сообщения от irvin12345
 
Регистрация: 30.05.2013
Сообщений: 7

не работает addEventListener в iframe
Столкнулся с проблемой: если фокус находится в iframe, то события не происходит. Подскажите почему? Обходные пути? Альтернативы?

(сохранить как 1.htm, запускать в chrome (при первом открытии ошибка соединения, но это к вопросу не относится, это моя лень. Лечится кнопкой "обновить страницу"))
<script>
var addr = "http://javascript.ru/"

function keys(e){
    alert("!");
}
    
function main(){
}

window.onload = function() {
    iframe = document.createElement("iframe");
    document.body.appendChild(iframe);
    iframe.style.width = "600";
    iframe.style.height = "600";
    iframe.onload=main;
    iframe.src=addr;
    document.addEventListener("keydown", keys, false);
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 12.06.2013, 14:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от irvin12345
Столкнулся с проблемой: если фокус находится в iframe, то события не происходит. Подскажите почему? Обходные пути? Альтернативы?
Событие происходит. Но внутри фрейма. Оно не поднимается в родительский документ. Нужно ставить обработчик на документ фрейма. Если фрейм отображает чужой домен - то вариантов нет вообще.
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2013, 15:31
Новичок на форуме
Отправить личное сообщение для irvin12345 Посмотреть профиль Найти все сообщения от irvin12345
 
Регистрация: 30.05.2013
Сообщений: 7

Сообщение от danik.js Посмотреть сообщение
Если фрейм отображает чужой домен - то вариантов нет вообще.
Именно этот случай. А можно подробнее, почему так?
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2013, 16:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от irvin12345
А можно подробнее, почему так?
Запрещено в целях безопасности, это можно конечно осуществить, но для этого чужой домен должен дать разрешение и/или использовать postMessage например.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает при заходе на данную страницу, но работает при рефреше страницы foker jQuery 0 26.11.2012 10:27
addEventListener не работает? Sonkkorh Events/DOM/Window 4 08.02.2011 15:59
вставка картинок в iframe Nightraven Internet Explorer 0 25.01.2011 23:09
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 10:41
Как получить текст внутри iframe на другом домене? Alexander Majesty Events/DOM/Window 1 23.12.2009 21:10