Работа с адресной строкой - что для этого нужно?
Здравствуйте! Хочу сделать во флеше якоря для перехода по ссылкам.
Для этого у флеша есть swfaddress, но для полного понимания я хочу сделать это сам. На форуме прочел, что для этого надо всего то, setTitle , setLink , history. History я нашёл, а вот два остальных метода нет. Они вообще существуют? и где про них можно почитать? А если их нет, то скажите, что есть.И немного если можно теории. Спасибо!) |
Тебе название форума ни о чем не намекает? Каким боком это
Цитата:
|
Цитата:
А названия форума -Javascript, говорит мне о том, что это форум, на котором мне помогут найти решение проблемы. Мне кажется, что это цель всех форумов, помогать....) Или Ваше "???" негодование\недоумение вызванно чем то ещё?) |
Возможно...даже - я не правильно изложил!) Сейчас сам прочел и понял Ваши слова.
То что мне нужно, делается при помощи js, но я точно не знаю при помощи чего! Прочел на форуме, что для этого надо знать из js setTitle , setLink , history. я не знаю, есть такие методы вообще, по этому и спрашиваю у Вас) Свойство history я нашёл в учебнике этого форума, но остальное не могу найти) Остальное есть вообще? И извиняюсь за глупые вопросы! |
Ну так получайте якорь через js: window.location.hash и отправляйте его значение через flashvars.
|
Цитата:
function setTitle(title) { document.title = title; } function setLink(link) { history.pushState(null, null, link); // если нужно только якорь менять, то // document.location.hash = link; } А объект history имеется. Но если нужно менять только часть адреса после # то он наверно и не понадобится. Кстати в IE8-9 только такой вариант и доступен - там нет pushState. |
Спасибо Вам! Но как сейчас понимаю, я поспешил. Во первых я не знаю как точно назвать то, что мне нужно. Мне нужно сделать в swf разделы с адресами как у обычных сайтов. Во вторых - для того чтобы получить от Вас нужный ответ, мне нужно обьяснятся понятным для вас языком, а для этого надо ещё больше учить. В общем я пока читать, а потом уже спрашивать буду.
|
Тебе нужно полностью менять ссылки, типа site.ru/home - site.ru/about - site.ru/contacts или будет достаточно site.ru/#home - site.ru#about - site.ru#contacts ? Второе огранизовать проще и работает даже в старых браузерах.
|
В AS3 можно так попробовать:
myText.addEventListener(MouseEvent.CLICK, function() { getURL('#about', '_self'); }); |
danik.js честно сказать я не могу пока ответить на этот вопрос.
Сегодня целый день учил swfobject, что бы понять что там, да как.. И у меня есть вопросы касательно адресов - какая разница между site.ru/home и site.ru/#home ? я затронул тему, которая мне показалась очень простой...но на деле это не так. Мне прежде всего хочется думать не о простоте, а пользователях и с этого момента начинаются вопросы. И вот сейчас, начиная копать в сторону "адресной строки", я руководствуюсь следующим - во первых, надо, чтобы небыло принудительного обновления страницы, то есть браузер грузил из хеша (если конечно не произошло изменений, о чем будет говорить время последнего изменения страницы). Во вторых нужен переход вперед\назад по кнопкам в браузере. В третьих, наверное, чтобы во всех браузерах работало ( а как вы сами считаете? есть плюсы-минусы того и другого подхода? ). И в четвертых, поисковыми ботами это будет считываться? И извиняюсь, если вам покажется, что я глупости спрашиваю!) |
Цитата:
Вариант же со сменой url-а не будет работать в IE8-9. Опять же при использовании history.pushState перезагрузки страницы не происходит (в этом то и смысл) и естесственно навигация вперед-назад по истории работает. Тут нужно учесть, что если юзер скопирует ссылку после переходов, например site.ru/contacts, то при вставке этой ссылки с сервера будет запрошен site.ru/contacts. А так как у тебя всегда контент один и тот же - тупо флешка, то думаю в этом нет никакого смысла. Якорная навигация тут более подходит. Цитата:
|
Часовой пояс GMT +3, время: 19:23. |