Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение содержимого одного iframe через другой (https://javascript.ru/forum/misc/56753-izmenenie-soderzhimogo-odnogo-iframe-cherez-drugojj.html)

EaglemanGo 03.07.2015 01:09

Изменение содержимого одного iframe через другой
 
На сайте есть 2 iframe. Нужно, чтобы по нажатию кнопки в одном, изменялось содержимое второго.
Основной файл:
<iframe id="frameList" src="list.html"></iframe>
<iframe id="frameArticle" src="article.html"></iframe>


list.html:
<ul>
  <li onClick="openArticle()">Название Статьи</li>
</ul>
</nav>


article.html:
<div id="articleContent">
</div>


Функция openArticle() должна менять содержимое div'a articleContent. Так и не нашел решения. :(
Заранее спасибо.

Decode 03.07.2015 01:18

Добавь в list.html:

function openArticle() {
   var frameArticle = window.top.document.getElementById('frameArticle').contentWindow;

   frameArticle.document.getElementById('articleContent').innerHTML = 'bla-bla';
}

Deff 03.07.2015 02:21

EaglemanGo,
Если фреймы с одного домена, вызывать из фрейма функцию с главной, которая правит нужным образом линки в обоих фреймах (ну или вызывает функцию аякс подгрузки в оба фрейма, хотя если Аякс - на кой фреймы ?
Если фреймы не с единого домена совместно с главной - очевидно PostMessage

ruslan_mart 03.07.2015 10:30

<iframe name="list" src="list.html"></iframe>
<iframe name="article" src="article.html"></iframe>



parent.frames.article.contentDocument.getElementById('articleContent').innerHTML = 'bla';

EaglemanGo 03.07.2015 12:26

Эх, не выходит чего-то. :(

Deff 03.07.2015 15:19

EaglemanGo,
Если фреймы используют локальные ссылки на компе, с фреймами могут быть проблемы

ruslan_mart 03.07.2015 18:30

Кстати, фреймы то может быть на одном домене, но а родитель другого домена.

EaglemanGo, Вы уверены, что к моменту срабатывания кода, второй фрейм уже загружен полностью?


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