Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проверка на локальный сервер (http://www.flasher.ru/forum/showthread.php?t=145197)

Jackson 01.10.2010 13:07

Проверка на локальный сервер
 
Всем привет! Подскажите, пожалуйста, как лучше сделать проверку, на каком сервере запущена swf - локальном или в нете?
В зависимости от этого необходимо соответствующее значение подставлять. Будет ли этот способ работать в as3?

mooncar 01.10.2010 13:52

Могу привести пример проверки не на "локальный / удаленный сервер", а, например, на запуск флешки "локально / с хостинга".
Мне помогает не менять пути в коде на период разработки.
Тут просто проверяются первые четыре символа из пути загрузки флеша (в моих случаях это либо "file", либо "http").
В зависимости от этого прописываю разные пути к конфигам, поскольку на хостинге и локально они относительно страницы с флешкой разные.
Можете организовать нечто подобное, нужно просто другое условие проверки this._url.
Если у вас локальный (на том же компе или в локалке) Апач, то наверняка обращаетесь в браузере к нему как-то вроде "http://myserver/test..." или "http://localhost/test...". Вот и проверяйте на "http://myserver/" или что там у вас . Если да - то одни параметры, если нет - значит грузится с удаленного, другие параметры.

Код AS1/AS2:

var loadMode:String = this._url.substr(0, 4);
if (loadMode == 'http')
{
        var generalConfig:String = 'generalconfig.xml?' + Math.random(); //Math.random() - боремся с кэшированием
        var configXMLact:String = 'actconfig.xml?' + Math.random();
        var signLogoPath:String = 'shopsigns/';
}
else
{
        var generalConfig:String = '../generalconfig.xml'
        var configXMLact:String = '../actconfig.xml';
        var signLogoPath:String = '../shopsigns/';
}


Jackson 01.10.2010 14:24

Спасибо! попробую

boleg 01.10.2010 18:08

Еще один вариант - это использование capabilities.
Если flash.system.Capabilities.playerType == "StandAlone" || "External", то это локальный компьютер. Иначе - сервер

mooncar 01.10.2010 19:49

boleg, автор как будто хочет определять, на локальном серваке или удаленном юзается флешка, system.Capabilities.playerType ему не поможет. Если он в браузере будет смотреть, ему выдаст, что это плагин в любом случае - хоть с удаленного сервера, хоть с локального, хоть вообще напрямую с диска страницу загрузит, без сервера.


Часовой пояс GMT +4, время: 00:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.