\n'); } // запоминаем заголовок при загрузке страницы var _title = document.title var anchor_names = {}; function gotoAnchor (name) { if (safari) { // в safari, увы, работать это не будет. return; } if (!anchor_names[name]) { // создаем якорь, если его еще нет на странице var dump = document.getElementById("dump"); dump.innerHTML += ''+name+''; // запоминаем, что такой якорь уже создали anchor_names[name] = true; } // переходим к указанному якорю location.hash = name; current_loc = location.hash; // меняем заголовок соответственно document.title = _title+" - #"+name } // уникальный идентификатор для создания LocalConnection // позволяет избежать путаницы при открытии нескольких одинаковых окон var connection_id = String(new Date().getTime()); // код для прокси-флэшки, которая будет регулярно перезагружаться // и передавать сигналы главной флэшке var refresh_html = ''; // код для главной флэшки var main_html = ''; // функция переписывает код прокси-флэшки, // передавая ей через FlashVars переменную function setFlashVariable (name, value) { var refresh = document.getElementById("refresh"); refresh.innerHTML = refresh_html.split("$$$$").join(name+"="+value); } var current_loc; // функция сверяет текущее значение location.hash с сохранённым в current_loc, // если оно не совпадает - сигналит об этом флэшке // (для Internet Explorer одним способом, для всех остальных - другим) function getLocation () { if (MSIE) { // специально для Internet Explorer document.title = _title; // // магия с перезагрузкой флэшки // (см. http://noregret.org/tutor/navigation/test/iemagic2.html) setFlashVariable("current", "$$$$"); // var index = document.title.lastIndexOf("#") var hash = (index == -1) ? "" : document.title.substr(index); if (hash != current_loc) { // якорь сменился, сигналим флэшке current_loc = hash; setFlashVariable("current", hash.substr(1)); } document.title = _title+(hash.length ? " - "+hash : ""); } else { // у всех гуманоидных броузеров с location.hash проблем нет. var hash = document.location.hash; if (hash != current_loc) { // якорь сменился, сигналим флэшке current_loc = hash; setFlashVariable("current", hash.substr(1)); } } } //-->
|
|
Пример к статье "навигация по флэш-сайту". [исходник для Flash Player 7] |