FancyBox или передача данных
Использую FancyBox для всплавающих окон (http://fancy.klade.lv/). Столкнулся с проблемой: мне необходимо во всплаывающем окне отобразить html страницу, допустим, со ссылкой "привет", а при нажатии на неё, в главном окне допустим с id="privet" написать "привет". По сути, если я не ошибаюсь, всплывающее окно там реализовано с помощь iframe. Как получить из всплавающего окна доступ к главному? opener не помогает.
|
Почитайте документацию к скрипту, в каком-то методе обязательно должна возвращаться ссылка на созданный фрейм. Ну а если нет, то придется перебирать коллекцию window.frames.
|
Спасибо, но если вдруг кто то уже делал подобные манипуляции, просьба писать в пост. Пока буду разбираться. Сложноватая там система, для меня))) Но как говориться: "Ученье - свет!"
|
а подскажите может мне это поможет:
<div id="qqq"></div> <iframe ..... все параметры></iframe> Документ в iframe: <a href="javascript:?????????">CLICK ME</a> что можно написать заместо этих "???????", чтобы изменять свойства div? или это запрещено политикой безопасности брайзеров? Метод document.getElementById('qqq')не работает |
разве там iframe создается? у меня в ff div виден
<div id="fancy_wrap"><div id="fancy_loading" style="left: 482px; top: 565.5px; display: none;"><div style="top: -440px;"/></div><div id="fancy_outer" style="top: 466px; left: 427px; height: 159px; width: 110px; display: block;"><div id="fancy_inner"><div id="fancy_bg" style="display: block;"><div class="fancy_bg fancy_bg_n"/><div class="fancy_bg fancy_bg_ne"/><div class="fancy_bg fancy_bg_e"/><div class="fancy_bg fancy_bg_se"/><div class="fancy_bg fancy_bg_s"/><div class="fancy_bg fancy_bg_sw"/><div class="fancy_bg fancy_bg_w"/><div class="fancy_bg fancy_bg_nw"/></div><div id="fancy_nav"/><div id="fancy_close" style="display: block;"/><div id="fancy_content" style="display: block;"><img src="http://fancy.klade.lv/img/examples/13_b.jpg?rand=90360946" id="fancy_img"/></div><div id="fancy_title" style="display: block;"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td id="fancy_title_left"/><td id="fancy_title_main"><div>This is the ART</div></td><td id="fancy_title_right"/></tr></tbody></table></div></div></div></div> это с http://fancy.klade.lv/ попробуйте в onclick написать alert(top.frames.length); должно 1 выдать |
вставил этот код, выдал 3. Код я вставил в страницу, которая открывается во всплывающем окне.
сижу разбираюсь с jquery пока из всплывающего окна не могу доступ к основной странице ( |
какой браузер? у Вас есть фреймы в самой странице? в firebug (firefox) есть удобная функция - inspect, есть firebug lite для всех браузеров (не знаю правда, есть ли там такое), позволяет исследовать создержимое странички
и попробуйте top.frames[i].document.getElementById('...') |
<div id="location_text"></div> <div id="fancy_wrap"> <div id="fancy_loading"> <div></div> </div> <div id="fancy_outer"> <div id="fancy_inner"> <div id="fancy_bg"> <div class="fancy_bg fancy_bg_n"></div> <div class="fancy_bg fancy_bg_ne"></div> <div class="fancy_bg fancy_bg_e"></div> <div class="fancy_bg fancy_bg_se"></div> <div class="fancy_bg fancy_bg_s"></div> <div class="fancy_bg fancy_bg_sw"></div> <div class="fancy_bg fancy_bg_w"></div> <div class="fancy_bg fancy_bg_nw"></div> </div> <div id="fancy_nav"></div> <div id="fancy_close"></div> <div id="fancy_content"> <iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe_СЛУЧАЙНОЕ_ЧИСЛО" frameborder="0" hspace="0" src="АДРЕС_СТРАНИЦЫ"></iframe> </div> <div id="fancy_title"> <table cellspacing="0" cellpadding="0" border="0"><tr><td id="fancy_title_left"></td><td id="fancy_title_main"><div></div></td><td id="fancy_title_right"></td></tr></table> </div> </div> </div> </div> как видно из кода, создается iframe, который загружает нужную страницу <iframe id="fancy_frame" onload="$.fn.fancybox.showIframe()" name="fancy_iframe_СЛУЧАЙНОЕ_ЧИСЛО" frameborder="0" hspace="0" src="АДРЕС_СТРАНИЦЫ"></iframe> Не могу решить следующую тему: что нужно написать в странице, загружаемой во фрейме, чтобы в div id="location_text" (в первой строке моего примера) записать допустим innerHTML. Как к нему обратиться? |
укажите html-код и javascript-код для fancybox (ссылка с содержимым и как она инициализируется)
|
Объявление
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.fancybox.js"></script> <script type="text/javascript" src="jquery.pngFix.js"></script> <script type="text/javascript"> $(document).ready(function() { $("a#link_to_window").fancybox({ 'zoomSpeedIn': 0, 'zoomSpeedOut': 0, 'overlayShow': true }); }); </script> Использование: <a href="index.php?content=yes&select_folder=yes" id="link_to_window">выбор папки</a> |
Часовой пояс GMT +3, время: 06:19. |