Форум 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)
-   -   функция load на разных сайтах (http://www.flasher.ru/forum/showthread.php?t=178362)

DubAlex 19.04.2012 21:45

функция load на разных сайтах
 
Добрый день!
Я написал небольшой скрипт, который позволяет читать данные из файла "list.cfg" и выводить эти данные на экран. Нажал CTRL+ENTER, сформировался swf-файл, запускаю SWF-файл, и все работает отлично (на моем компьютере).
Скрипт чтения данных из файла "list.cfg" следующий:
Код AS1/AS2:

System.useCodepage=true;                         // позволяет распознавать кириллицу в файле, из которого читаются данные.
var loader:LoadVars=new LoadVars();        //переменная, в которой будут храниться все данные, считываемые из файла
loader.load("list.cfg");//считываем данные из файла в переменную
 
//обработка события загрузки данных из файла
loader.onLoad=function(success:Boolean):Void {
        if(!success) {                                                                                //если вокникла какая-то ошибка при загрузке
                trace("He удалось импортировать переменные");        //выводим сообщение
        }
mainfunc(); //выполнение основной функции

Далее я загружаю swf-файл и файл "list.cfg" на сайт (оба файла находятся в одной папке), набираю адрес сайта и вижу, что поля для данных отображаются (т.е. swf-файл запустился), но самих данных нет (такое ощущение, что данные из файла не прочитались).
Затем я создал сайт на narod.ru и загрузил оба файла туда - все снова работает отлично!!!
С чем может быть связано то, что на одном сайте swf-файл работает отлично, а на другом - не читает данные?

mooncar 19.04.2012 21:53

1. load - Это не функция, а метод класса LoadVars.
2. Что такое у вас mainfunc ?
3. Где и как вы выводите "данные из файла"?
Здесь, в приведенном коде, у вас только обрабатывается сообщени об ошибке, тогда как обработчик события onLoad обычно используется для получения и парсинга данных из строки вида
Код:

var1=value1&var2=value2
, содержащейся в файле. Для вывода содержимого файла как есть применяется onData.
Эти обработчики используются из-за асинхронности работы кода, то есть дают возможность дождаться полной загрузки данных.
Обработчик onLoad здесь использован неправильно, в этом корень проблем.

4. Не используйте
Код AS1/AS2:

System.useCodepage=true;

, это вредно. Файл с данными должен быть в кодировке UTF-8.

DubAlex 19.04.2012 22:25

1. хорошо
2. основная функция, в которой идет обработка данных
3. Я считал, что ошибка может заключаться именно в открытии файла, поэтому обработку не показывал. Обработка следующая:
Код AS1/AS2:

                massiv_obl=eval("loader.obl");                //в переменную областей помещаем все название области
                massiv_city=eval("loader.city");    //в переменную городов помещаем название города

В файле "list.cfg" данные представлены в следующем виде:
Код:

obl=Алтайский край&city=г. Барнаул
OnData я не применяю.
Расскажите, пожалуйста, подробней, почему обработчик onLoad использован неправильно? В чем суть ошибки?
4. хорошо, сейчас попробую отказаться от System.useCodepage=true;.
Это может быть одной из причин моей проблемы?


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

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