|
4.4 Кб |
|
| На сайте, выполненном на CMS, имеется flash меню (см. скриншот). Его код такой:
<div class="flash">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,24" width="920" height="87">
<param name="movie" value="flash/menu_v8.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="menu" value="false" />
<!--[if !IE]> <-->
<object data="flash/menu_v8.swf"
width="920" height="87" type="application/x-shockwave-flash">
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="menu" value="false" />
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" />
FAIL (the browser should render some flash content, not this).
</object>
<!--> <![endif]-->
</object></div>
|
Как я понимаю, меню как таковое находится в файле menu_v8.swf. Но как это работает, остается непонятным.
1. Почему <object выводится два раза с разным содержимым?
2. Где прописаны адреса, на которые должен осуществиться переход при клике на ссылку меню? Неужели в том же ролике menu_v8.swf есть и адреса?
3. При клике на ссылку «Контакты» в реальном сайте открывается страница «www.site.ru/contacts» (без расширения).
Чтобы промоделировать эту технику, я на пустом HTML файле установил вышеприведенный код. Работает - меню показывается, флеш открывается.
Здесь же разместил пустой файл с именем «contacts» (тоже без расширения). Но при клике на него перехода не происходит.
В чем же причина? | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 09:45)
| | 1. object выводится 2 раза для разных браузеров (там даже коммент имеется). на сайте
валидатора есть ссылка, как сделать только один object, понятный для всех. найду - скину
2. адреса ссылок прописаны в самом флаше. вы видите результат, скомпилированный. а
сам код можно увидеть только в файле с расширением .fla
3. без расширения, потому что там или index или rewrite, который делает перенаправление на
нужный файл | |
|
|
|
|
|
|
|
для: elenaki
(21.04.2011 в 09:50)
| | А файл с расширением .fla известен только разработчику флеш? | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 09:54)
| | Да. | |
|
|
|
|
|
|
|
для: elenaki
(21.04.2011 в 09:50)
| | >2. адреса ссылок прописаны в самом флаше.
Совсем необязательно - он может подтягивать эти данные отдельным запросом с сервера. Правда, мало кто об этом заботится - обычно всем плевать кто и как дальше будет поддерживать сайт. | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 09:45)
| | >1. Почему <object выводится два раза с разным содержимым?
Из-за Internet Explorer, дело в том что для него вызов Flash нужно реализовывать отдельным object (так как для него Flash-проигрыватель реализован через ActiveX).
>2. Где прописаны адреса, на которые должен осуществиться переход при клике на ссылку
>меню? Неужели в том же ролике menu_v8.swf есть и адреса?
Да и переадресация. Собственно почему flash так популярна среди Web-разработчиков, если графику из flash еще можно утащить, то код уже проблематично.
>3. При клике на ссылку «Контакты» в реальном сайте открывается страница «www.site.ru/
>contacts» (без расширения).
Так запрограммировали. Вообще если формируется универсальное меню, то все названия и адреса помещают в XML-файл, откуда флешка их читает и воспроизводит, редактируюя этот XML-файл вы можете без перекомпиляции флешки добиться любого поведения. Однако, тут разработчик вероятно не расчитывал на то, что вы захотите что-то поменять. | |
|
|
|
|
|
|
|
для: cheops
(21.04.2011 в 09:56)
| | Дело в том, что это мой сайт. В свое время его арендовали, но сейчас арендодатель гикнулся. Доступ в админку есть (точнее, она то открывается, то не открывается), а вот ФТП не работает. Сделан на Amiro CMS.
Хочется спасти дизайн, хотя бы шапку.
Адреса страниц, корые открываются в реальном сайте при клике на соответствующую кнопку меню, известны. Саму шапку с флешкой я перенес на другой домен для макетирования. Что можно сделать, чтобы на макете подстроиться под существующий флеш и чтобы открывались хоть какие-то страницы при клике на меню?
(Без CMS, в статике. Потом всё это можно будет отладить) | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 10:08)
| | не верю, что Вы только что открыли для себя Flash... ну, если очень хочется, можно найти и
скачать FlashDecompiler, прогнать через него ваш swf и получить (иногда немного покоцанный,
но в целом читаемый) fla. особeнно, если сайт старый и делали его не китайцы. сомневаюсь,
что там используется XML. скорее всего, ссылки забиты в самом флаше. и код AS, если он
есть, не набран иероглифами... | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 10:08)
| | Собственно что-то дополнительное к тому, что вы делаете добавить сложно. Нужно добиваться чтобы осуществлялись переходы, надеясь на то, что флешке не забит доменное имя сайта. К сожалению, работа с чужими флешками без исходных кодов очень затруднена из-за того, что они могут подгружать другие флешки, могут срабатывать ограничения безопасности, может быть реализована какая-то хитрая логика, требующая дополнительных условий, а флешка, если у неё нет отладочного режима (который еще нужно знать как включать) будет молчать и без исхоных кодов можно биться довольно долго. У меня у самого флешки и флешеры выпили столько крови, что я вынужден был изучить эту технологию, чтобы работать с исходными кодами и реализовывать отладочные механизмы самому - иначе времени на интеграцию тратится очень много. | |
|
|
|
|
|
|
|
для: cheops
(21.04.2011 в 10:16)
| | Я тоже подумал о том, что там может быть прошит домен. Если дело только в этом, то это не страшно, ибо домен я менять не буду.
Хотя, вообще-то, в случае прошивки домена во флеше макет просто переключился бы на настоящий сайт... | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 10:08)
| | дайте мне ссылку на ваше флашевое меню и я сделаю из него fla. на работе часто приходится
этим заниматься. приходит клиент, тыкает пальцем в монитор - хочу это. не рисовать же с нуля!
a если есть XML, то путь к нему должен быть указан в коде. можно сходить по нему и скачать XML. | |
|
|
|
|
|
|
|
для: elenaki
(21.04.2011 в 10:20)
| | Получается, что делать fla даже и не обязательно. Достаточно посмотреть, что там внутри, и как подключить статические страницы.
Можете это сделать? | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 10:29)
| | как это - "не делать fla"? нельзя "посмотреть, что внутри", не сделав fla!
только в коде файла, открыв его в программе-редакторе, можно увидеть, что там понапихано. | |
|
|
|
|
|
|
|
для: elenaki
(21.04.2011 в 10:42)
| | Я имел в виду, что сам fla как таковой мне не понадобится, а достаточно просто узнать способ подключения статических файлов к меню.
У Вас почта работает?
Или через АСЮ 615-470-945 | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 10:46)
| | в Асю я не хожу. пишите на mail.ru (перед собачкой - elenaki) | |
|
|
|
|
|
|
|
для: Владимир55
(21.04.2011 в 09:45)
| | > 3. При клике на ссылку «Контакты» в реальном сайте открывается страница «www.site.ru/contacts» (без расширения).
не файл без расширения, а директория
www.site.ru/contacts/
а делее от настроек сервера (mod_rewrite) или положите в директорию index.html | |
|
|
|
|
|
|
|
для: AlexSol
(21.04.2011 в 11:33)
| | не файл без расширения, а директория
Шлёп!
(Ладонью по моему лбу!).
Спасибо, теперь всё ОК! | |
|
|
|