Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2020, 17:10
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

Проблема вызова функции в соседнем iframe на JQuery
Ребята всю голову сломал. Просьба помочь.
Есть index.html содержит 2 iframe
<iframe id='head' src="head.html"></iframe>
<iframe id="list" src="list.html"></iframe>
В head.html шапка и нужно, чтобы при нажатии на элемент <td> в шапке
в файле list.html стиль <div> менялся на visible.
Иными словами как из одного подгружаемого в iframe файла обратиться к элементам другого iframe файла.
Пробовал обратиться из файла head.html , пробовал из index. html методом contents.find() ничего не помогает.
Ранее в index.html были frame и функция вызываемая из head.html:
function menu(){
	var menu2=parent.frames[1].document.getElementById('menu');
	menu2.style.visibility='visible';
	}

работала.

UPD: В internet explorer работает.

Последний раз редактировалось Andrey_szr, 24.03.2020 в 18:56.
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2020, 07:40
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Andrey_szr, в одном домене создал 3 файла...
tmp.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<iframe id='head' src="tmp1.html"></iframe>
<iframe id="list" src="tmp2.html"></iframe>
</body>
</html>

tmp1.html
<button>Test</button>
<script type='text/javascript'>
document.querySelector('button').onclick=function(){
	var o=parent.frames[1].document.querySelector('div');
	o.style.color='red';
};
</script>

tmp2.html
<div>Test</div>

И все работает...
Ответить с цитированием
  #3 (permalink)  
Старый 25.03.2020, 17:50
Интересующийся
Отправить личное сообщение для Andrey_szr Посмотреть профиль Найти все сообщения от Andrey_szr
 
Регистрация: 26.02.2010
Сообщений: 22

Опять же работает только в IE.
Думаю копать надо куда-то в направлении postMessage.
Тем не менее спасибо за помощь.
Ответить с цитированием
  #4 (permalink)  
Старый 25.03.2020, 18:03
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,701

В Хроме и Файрфоксе работает, если все на сервере.
С локальной файловой системы работать не будет. При обращении к iframe используется политика одного источника (т.е. нужно, что бы они были с одного домена). Файловая система этого не поддерживает.
Хотя возможно есть ключи, у браузеров, которыми для iframe это можно отменить.
Ответить с цитированием
  #5 (permalink)  
Старый 26.03.2020, 07:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Andrey_szr
Опять же работает только в IE.
Я на Опере запускал...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с скриптом jquery функции samirusta Javascript под браузер 0 29.12.2015 11:30
Проблема с перезаписью содержимого iframe vadval15 Общие вопросы Javascript 2 26.12.2015 21:46
Проблема с .blur в jQuery Akademik Events/DOM/Window 4 08.07.2012 11:14
вызов функции из iframe Geddar Я не знаю javascript 6 25.05.2009 11:46
jquery tabs (проблема с отображением) Extern Элементы интерфейса 0 16.03.2009 17:42