Как передать значения переменной из одного фрейма в другой в Google Chrome
Добрый день! Ребята не могу разобраться, как передать данные переменной из нижнего фрейма в верхний в Google Chrome.
Фрейм с тестом <script type="text/javascript"> var frm=window.parent.stat.document.forms.stat; // переменная задающая окно stat frm.ntop.value=1; //значениe, задающее номер темы frm.total.value=2; //значениe, количество тестов frm.good.value=0; // значениe, оценку по данной теме </script> Верхний фрейм, содержащий "шапку". При выборе разных тем, значения ntop, total и good должны изменяться <body> <form action="#" name="stat"> Тема номер: <input name="ntop" value="0" disabled="disabled" size="3" /> Решено: <input name="good" value="0" disabled="disabled" size="3" /> из <input name="total" value="0" disabled="disabled" size="3" /> </form> </body> Данный код не работает в Google Chrome. При выборе темы теста на основой странице, значения не передаются в верхний фрейм, в Firefox работает корректно. Как поменять/присвоить значения в верхнем фрейме в форме name="stat"? В файле index.html указано следующее: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html> <head></head> <frameset rows="60px,*" name="frameset" border="0"> <frame src="ind_up.html" name="stat" scrolling="0" noresize="yes"/> <frame src="ind_ex.html" name="main" scrolling="0" noresize="yes"/> </frameset> </html> Теги iframe использовать не удобно, потому что приходится жестко указывать высоту фрейма. При использовании frameset, нижняя страница отображается целиком. Да, не поддерживается в html5, но это пока не очень волнует. В файле ind_up.html, форма выглядит вот так, это собственно вся страница, которая загружается в верхний фрейм: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> ... <body> <form action="#" name="stat"> Тема номер: <input name="ntop" value="0" disabled="disabled" size="3" /> Решено: <input name="good" value="0" disabled="disabled" size="3" /> из <input name="total" value="0" disabled="disabled" size="3" /> </form> </body> В файле ind_ex.html, тело документа выглядит вот так: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <body> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td width="10%" align="center" valign="top"></td> <td width="90%" align="left" valign="center"> <H2>Тесты</h2> <li id=soder><A HREF="test1.html">Тест 1</a></li> <li id=soder><A HREF="test2.html">Тест 2</a></li> ... </td> </table> </body> </html> При переходе на страницу test1.html, страница выглядит вот так: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html> <head> <script type="text/javascript"> var frm=window.parent.stat.document.forms.stat; frm.ntop.value=1; // номер темы frm.total.value=2; // количество тестов frm.good.value=0; // оценка по данной теме </script> </head> <body> ... </body> </html> Собственно требуется чтобы при выборе темы на странице ind_ex.html (фрейм "main"), при загрузке страницы test1.html, изменялись значения на странице ind_up.html (фрейм "stat"). В Firefox работает корректно, в Chrome браузерах значения не передаются. |
Freestyle007,
У меня вполне работает в Chrome 75.0.3770.100, IE 11.0.130, FF 62.0.3, Opera 48.0 - без каких-либо проблем |
Цитата:
Google Chrome: Версия 72.0.3626.109 (Официальная сборка), (64 бит) Mozilla Firefox: Версия 60.5.0esr (64-бит) Quantum |
Freestyle007,
И в консоли нет никаких сообщений? |
Вложений: 1
Нет. Вот готовые макеты страниц Вложение 4181
Не понимаю в чем причина... Почему Google Chrome не изменяет переменные при переходе на страницу. Проверил в IE, также не работает. Корректно работает только в Firefox |
Freestyle007,
Сначала проверял на текстах из пост#1, ваши макеты из архива у меня тоже работают во всех браузерах |
Freestyle007,
На всякий случай уберите одинаковые id в файле ind_ex.html - они должны быть уникальными. У меня это, правда, не мешает... |
Цитата:
Вы через виртуальный сервер типа Apache запускаете или просто распаковываете архив на диск и открываете в браузерах? |
Freestyle007,
При выборе ссылки test1 значения меняются, test2 - снова меняются. Сервер Microsoft IIS |
Цитата:
Но я попробовал убрать, бесполезно. Подумал, что браузер не может корректно отобразить страницу из-за небезопастного содержимого, объявление в мета-тегах ничего не исправляет <meta http-equiv="Content-Type" content="text/html; charset=koi8-r"/> Такое ощущение, что какая-то настройка безопасности в Google Chrome не даёт возможности обмениваться данными фреймам между собой. |
Часовой пояс GMT +3, время: 03:49. |