Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.01.2011, 18:30
Новичок на форуме
Отправить личное сообщение для resetnow Посмотреть профиль Найти все сообщения от resetnow
 
Регистрация: 03.01.2011
Сообщений: 4

[javascript] [iframe] Вызов функции родительского фрейма
Собственно, имеется IFrame, который по наступлению некоторого события должен передать некоторые данные в родительский документ.
Пробовал:
- top.func();
- вариации с parent

В любом случае в опере Security Error. Как бы провернуть передачу данных из IFrame родителю? Скорее всего, данный метод будет работать в других браузерах, но в опере система безопасности не позволяет. cross- document messaging? Если использовать его, то какие браузеры его поддерживают? не смог найти информации по поддержке cross- document messaging. Поддержка IE не нужна, если остальные поддерживают — и то хорошо.

вопрос — как передать данные из IFrame в parent?

p.s. http://javascript.ru/html5/postmessage/send.html отлично работает, только мне нужно не во фрейм, а из него. Так и не получилось реализовать, чтобы наоборот.
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2011, 18:31
Новичок на форуме
Отправить личное сообщение для resetnow Посмотреть профиль Найти все сообщения от resetnow
 
Регистрация: 03.01.2011
Сообщений: 4

И да, собственно данные — document.location.href. Напрямую получить доступ не получается, тот же Security error.
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2011, 18:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от resetnow
только мне нужно не во фрейм, а из него.
top.postMessage(...)
Ответить с цитированием
  #4 (permalink)  
Старый 03.01.2011, 19:00
Новичок на форуме
Отправить личное сообщение для resetnow Посмотреть профиль Найти все сообщения от resetnow
 
Регистрация: 03.01.2011
Сообщений: 4

index.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<body>
<iframe src="iframe.html">
<script>
function listener(event){
alert(event.data);
}

if (window.addEventListener){
	window.addEventListener("message", listener,false);
} else {
	window.attachEvent("onmessage", listener);
}
</script>
</body>
</html>


iframe.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<body>
123
<script>
top.postMessage('sample', "*");
</script>
</body>
</html>


не работает. вроде как и обработчик события находится на стороне, принимающей сообщение, а все не так что-то.

Последний раз редактировалось resetnow, 03.01.2011 в 19:03.
Ответить с цитированием
  #5 (permalink)  
Старый 03.01.2011, 19:16
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Тег iframe закрывать надо.
Ответить с цитированием
  #6 (permalink)  
Старый 03.01.2011, 19:20
Новичок на форуме
Отправить личное сообщение для resetnow Посмотреть профиль Найти все сообщения от resetnow
 
Регистрация: 03.01.2011
Сообщений: 4

идиотская ошибка)
спасибо, тема закрыта.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции, находящейся в другой функции ZneP Events/DOM/Window 6 24.08.2010 17:45
непонятный вызов функции hedgi Общие вопросы Javascript 2 05.08.2010 10:55
вызов функции из функции sharp_007 Общие вопросы Javascript 2 03.04.2010 20:13
Вызов функции из другой функции.. ?? glutton Общие вопросы Javascript 3 21.08.2009 21:33
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 12:44