Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Связь iframe с родительским окном (https://javascript.ru/forum/misc/28518-svyaz-iframe-s-roditelskim-oknom.html)

Deff 25.05.2012 14:34

Gvozd, меряться письками мне рано, но запустить write при Ваших условиях - можно, не обязательно запускать write непосредственно из фрейма, достаточно установить некие условия для родителя - а он сам запустит
Другое дело,что условия загрузки фрейма ранее родительской для конкретного запроса маловероятны, так шо теоретические беседы все ф топку

Bebarr Swallow 25.05.2012 20:17

Вообще document.write() мне совсем не нужен. Для примера написал что первое в голову пришло.

Полазил в консоли и выяснилось:
Unsafe JavaScript attempt to access frame with URL http://example.com/ from frame with URL http://somesite.com/?param=123&other=false. Domains, protocols and ports must match.


Что делать?

Kolyaj 25.05.2012 20:45

Ничего не делать, смириться.
Цитата:

Сообщение от Bebarr Swallow
Domains, protocols and ports must match.

В крайнем случае postMessage.

Gvozd 25.05.2012 22:25

Цитата:

Сообщение от Deff
так шо теоретические беседы все ф топку

Из нас двоих теоретик явно Вы.
Вы заявляется факты, которые не имеют ничего общего с практикой, и похоже основываетесь на предсказаниях по кофейной гуще
Цитата:

Сообщение от Deff
для конкретного запроса маловероятны

Цитата:

Сообщение от Deff
маловероятно

Цитата:

Сообщение от Deff
вряд ли сможете,

Факт возможности/невозможности загрузки фрейма раньше основного окна является вполне точно определяемым, и нечего тут пытаться угадать.
Мы с Вами не картину обсуждаем, и тут не может быть двух мнений вроде "потому что я так вижу"

И я в отличии от Вас не только основываюсь на собственном мнении, в попытке логически предположить результат, но еще и провел эксперимент

Код основной страницы
<script>
window.onload = function() {
	console.log('Base page loaded');
}
</script>
<iframe src="frame.php"></iframe>
<?php echo  str_repeat(' ', 1000); ?>


Код фрейма
<script>
window.onload = function() {
	console.log('Frame loaded');
}
</script>


В Chrome, Opera, FireFox результат одинаковый:
Цитата:

Frame loaded
Base page loaded
Кстати, строку <?php echo str_repeat(' ', 1000); ?> можно и убрать - результат у меня тот же наблюдается

Deff 25.05.2012 23:16

Цитата:

Сообщение от Bebarr Swallow (Сообщение 176617)
Вообще document.write() мне совсем не нужен. Для примера написал что первое в голову пришло.

Полазил в консоли и выяснилось:
Unsafe JavaScript attempt to access frame with URL http://example.com/ from frame with URL http://somesite.com/?param=123&other=false. Domains, protocols and ports must match.


Что делать?

1. А у вас доступ есть на уровне PHP обоих доменов?

2. А какова конечная цель задумки ?, что нужно вывести из фрейма ?

Bebarr Swallow 26.05.2012 13:44

Цитата:

Сообщение от Deff (Сообщение 176629)
1. А у вас доступ есть на уровне PHP обоих доменов?

2. А какова конечная цель задумки ?, что нужно вывести из фрейма ?

Доступа нет. Есть чужой сайт к которому я подключаю фрейм из еще иного сайта. Во фрейме работает юзерскрипт который обрабатывает "инфу" в том фрейме, и в конце создает определенную переменную, которую он должен передать в родительское окно (значение переменной записывает в элемент по его id методом innerText либо innerHTML)

Deff 26.05.2012 13:50

Цитата:

Сообщение от Bebarr Swallow (Сообщение 176673)
Доступа нет. Есть чужой сайт к которому я подключаю фрейм из еще иного сайта. Во фрейме работает юзерскрипт который обрабатывает "инфу" в том фрейме, и в конце создает определенную переменную, которую он должен передать в родительское окно (значение переменной записывает в элемент по его id методом innerText либо innerHTML)

Нарисуйте в Пейнте блок схему... - укажите на каждом фрейме ссылки - WWW.BB.com WWW.AA.com WWW.CC.com

И стрелками откуда -куда передаваться данные и Где Фрейм с Вашими скриптами и фреймы к котором Вы доступ ни скриптовый, ни PHP не имеете.

Gvozd 26.05.2012 14:02

http://javascript.ru/forum/misc/9459...prosy-faq.html

Bebarr Swallow 26.05.2012 20:02

Цитата:

Сообщение от Gvozd (Сообщение 176676)

Так бы сразу.

Полезное услышал только postMessage. Скорее всего ним и займусь

Deff 26.05.2012 20:28

Gvozd,
:yes: Вот не дал поэкспериментировать! Зачем отшивать то - не разобравшись в задаче ?


Часовой пояс GMT +3, время: 03:21.