Форум 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)
-   -   интернет время во flash (http://www.flasher.ru/forum/showthread.php?t=84416)

ivb 30.08.2006 21:40

интернет время во flash
 
Есть линк http://ntp.psn.ru/date.php?data=time2|data

Вопрос:
Как хотя бы в текстовом виде загрузить во flash время и дату, выдаваемую указанным линком?

Juice_Green 31.08.2006 08:58

использовать LoadVars и его метод sendAndLoad.
Сработает правда политика безопасности (как вариант - обращатся к своему серверному скрипту который будет в свою очередь обращатся по вышеприведенной ссылке и возвращать результат)

ivb 31.08.2006 19:18

использовал LoadVars.load - видимо правда сработала политика безопасности, т.к. сама swf работает нормально, но из IE не работает, пока не залезешь на сайт Adobe и не внесешь эту swf в список Always Allow. Можно как-нибудь это обойти???

iNils 31.08.2006 19:23

Цитата:

Сообщение от ivb
использовал LoadVars.load - видимо правда сработала политика безопасности, т.к. сама swf работает нормально, но из IE не работает, пока не залезешь на сайт Adobe и не внесешь эту swf в список Always Allow. Можно как-нибудь это обойти???

можно, постом выше сказано
Цитата:

Сообщение от Juice_Green
...как вариант - обращатся к своему серверному скрипту который будет в свою очередь обращатся по вышеприведенной ссылке и возвращать результат...


ivb 31.08.2006 19:26

а если использование серверных скриптов не предусмотрено???

etc 31.08.2006 19:29

ivb, тогда никак.

ivb 31.08.2006 19:33

ладно, а знает тогда кто-нибудь как написать NTP-клиент на flash?

etc 31.08.2006 19:53

Осталось рассказать, что это за клиент…

Juice_Green 01.09.2006 09:01

2 __etc: клиент, который обращается к NTP серверу для получения точного времени.

2 ivb: для примера
Код:

this.createTextField("txt_out", this.getNextHighestDepth(), 10, 10, 100, 30);
with(this['txt_out']) {
        autoSize = true;
        border = true;
        }

var lvLoad:LoadVars = new LoadVars();

lvLoad.onData = function(src:String):Void {
        _root['txt_out'].text += (src == undefined) ? "Load is empty" : "Loaded: "+src;
            // зная формат получаемых данных, распарсить и получить то что нужно
        }
       
lvLoad.load("http://ntp.psn.ru/date.php?data=time2|data");

если публиковать как прожектор - тогда никакие политики безопасности не нужны, если публиковать где то в сети на интернет странички, то думаю не составить труда и задействовать серверный скрипт, который будет посредником между флешкой и ntp сервером.

ivb 01.09.2006 20:51

да, спасибо, вот так и сделал + php скрипт.

для дальнейшего вычисления времени, чтобы не загружать интернет-канал, задействовал таймер с интервалом 1000; но буквально за пять минут появляется очень сильное расхождение во времени (т.е. таймер начинает отставать). Кто-нибудь может помочь узнать в чем дело? И как исправить ситуацию?

etc 01.09.2006 20:56

А что мешает один раз взять время и сверять его, скажем, каждые пять минут, а не каждую секунду? Часы на компьютере за пять минут никуда не убегут.

Gaen 02.09.2006 00:55

А почему бы не воспользоваться этими самыми часами на компьютере? Ты же setTimeout юзаешь? Могу ошибаться, но вроде такие функции зависят от частоты проца, откуда и лезут неточности.

ivb 04.09.2006 21:16

Да, всем спасибо, пришлось высчитывать разницу в значениях и прибавлять ее постоянно к обычному времени. А так часы как часы=))


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

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