![]() |
Можно ли определить браузер из-под флеша ?
Можно ли определить браузер из-под флеша ? и как это сделать?
1. вид браузера ( IE, FF... MSIE) 2. версию (номер) |
Можно определить это через JS и затем сообщить об этом флешу
|
В смысле определить браузер с помощью js во время загрузки и передать с помощью flashvars.
|
или как вариант - через пхп.
|
спасибо!
|
|
Код:
javascript:var s='';for(var p in navigator)s+=p+'>'+navigator[p]+'\n';alert(s);Потом написать функцию на js, которая возьмет что вам из этого нужно и запишет в flashvars. |
Подскажите, как из скрипта во флеше
Код:
javascript('alert("navigator.appName")') |
Я, конечно не очень силен в JS, но вот такая конструкция работает:
1. В секции HEAD странички пропишите такую функцию: Код:
<script type="text/javascript">Код AS1/AS2:
Ну а еще почитайте о классе ExternalInterface, на будущее очень пригодится. |
Нет, необходимо именно внутри флешки установить значение переменной с помощью JS. Или это в принципе не совместимо - js выполняет браузер и только через код страницы можно передать во флешку переменные?
|
Да, грубо говоря, JS выполняется браузером из скрипта, размещенного в HTML-странице. Что тогда может означать "внутри флешки установить значение переменной с помощью JS" ? У вас нет доступа к коду страницы публикации swf-ки?
|
То и означает - установить значение переменной флеша с помощью js, не используя код страницы. JS должен быть только в теле флешки.
|
Если рассуждать логически, то:
Флеш умеет взаимодействовать с внешней средой через Flash Player, который в свою очередь "знает" как передать запросы от AS внешней среде, выполненные с использованием класса ExternalInterface, а также может инициализировать переменную AS с помощью параметра внутри флешки при ее публикации - flashvars. Флеш умеет взаимодействовать с внешней средой также с помощью функции fscommand, которая передает инструкции непосредственно Flash Player'у. JS - это программный листинг, выполняемый средой браузера, и как-то изменить/сгенерировать его изнутри флешки нельзя, можно использовать только имеющийся код. С помощью AS-функции getURL можно загрузить документ в текущее или новое окно браузера, и передать документу значения переменных... использовать для этого javascript также можно в качестве аргумента url. ИМХО, вывод - для получения каких-то данных от загруженного документа все-таки придется использовать "код страницы", писать на странице публикации флеша все-таки что-то придется. Вы же там пишете при публикации <obiect>, <param>, <embed>; что не дает вам использовать параметр публикации flashvars для получения имени браузера? |
Цитата:
Как-то так. Код AS1/AS2:
|
Признаю, был неправ, вот этот вариант работает:
Код AS1/AS2:
"call (ExternalInterface.call method) Calls a function exposed by the Flash Player container.... ...... If the container is an HTML page, this method invokes a JavaScript function in a <script> element" Значит, можно :) |
Значит в самой флешке узнать тип браузера нельзя.
|
Работает же, рзобрались, посмотри мой последний пост!
|
| Часовой пояс GMT +4, время: 20:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.