Просмотр полной версии : Задержка в срабатывании getURL
DiGGy777
21.07.2006, 13:33
Делаю меню сайта на флеше (Flash2004MX 7ver). Создаю банально пару кнопок, на них вешаю on (release) { getURL("/somepath/"); }
В случае, когда я указываю урл файла getURL("news.html") и сам файл news.html существует на сайте, то при нажатии на кнопку браузер быстро открывает указанный урл.
Но когда я указываю просто каталог getURL("/news/") (каталог физически не существует, урл обрабатывает установленная CMS через modrewrite и 404 ошибку и в итоге выдает необходимый раздел из БД) то при нажатии на кнопку браузер (или сам флеш) начинает очень долго думать.... спустя долгие раздумья указанный урл в результате открывается...
Собственно и вопрос: почему идет такая большая задержка в открытии указанного урл???
Встречный вопрос: а причём тут Flash?
DiGGy777
21.07.2006, 14:04
притом, что именно флеш дает команду на запрос указанного урл.
обычная ссылка <a href=/news/>news</a> работает, а вот со флешем проблема какая-то...
Значит флэш кушает слишком много процессорного времени. Нужно оптимизировать.
DiGGy777
21.07.2006, 14:17
не пойму что тут оптимизировать. есть кнопка, у нее указан getURL. в зависимости от указываемых урл обработка идет либо быстро либо с затормаживанием....
я не особо силен во флеше, тока установил... :)
объясните пожалуйста - что именно надо оптимизировать и как?
Дай ссылку, где это можно посмотреть.
DiGGy777
21.07.2006, 14:50
чуть позже выложу сылочку, на хостинге пока сайт не настроил... тестировал пока локально у себя на компе
Причина в том, что HTML-команда <a></a> не идентична по механике реализации от команды Flash getURL. А именно: FlashPlayer по этой команде пытается загрузить конкретный документ (читаем в документации: html-страницу или файл сценария). Но не директорию, что может быть обычной ситуацией для веб-браузера. Отсюда и задержка.
DiGGy777
21.07.2006, 16:53
Причина в том, что HTML-команда <a></a> не идентична по механике реализации от команды Flash getURL. А именно: FlashPlayer по этой команде пытается загрузить конкретный документ (читаем в документации: html-страницу или файл сценария). Но не директорию, что может быть обычной ситуацией для веб-браузера. Отсюда и задержка.
не согласен. независимо от программы при обращении к какому-то урл в работу вступает web-сервер в данном случае апач... при указании пути типа http://mydomain.ru/news/ апач из настроек берет индексный файл по умолчаню и его загружает...
тут в приципе даже не важен сам механизм работы веб-сервера и скриптов сайта, тут важно, какой ответ вернет веб-сервер в результате своей работы, потому как что флеш что браузер будет работать как раз уже с результатом работы веб-сервера
опытным путем выяснил, что глюк был не в самом флеше... а в том как этот флеш подгружался в хтмл страничку... по умолчанию я взял пример из готового купленного дизайна:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="766" height="223">
<param name="movie" value="/images/myheader.swf?button=1">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
<!--[if !IE]> <-->
<object data="/images/myheader.swf?button=1" width="766" height="223" type="application/x-shockwave-flash">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
FAIL (the browser should render some flash content, not this).
</object>
<!--> <![endif]-->
</object>
а потом подставил код, который генерит сам flash:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="766" height="223" id="myHeader" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="/images/myheader.swf?button=1" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="/images/myheader.swf?button=1" quality="high" bgcolor="#ffffff" width="766" height="223" name="myHeader" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
в результате скорость загрузки повысилась... в связи с чем имеется новый вопрос: по какой такой причине из выше перечисленных способов загрузки такое происходит? и как в моем случае надо более корреткно составить код для загрузки флеша?
добавт еще таргет "_blank" вторым аргументом
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.