Форум 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)
-   -   Проблема загрузки внешнего текстового файла в FireFox (http://www.flasher.ru/forum/showthread.php?t=148491)

Sinusoid 03.01.2011 20:12

Проблема загрузки внешнего текстового файла в FireFox
 
Приветствую.
Проблема: подгружаю текст в текстовое поле из внешнего текстового файлика. Все работает в IE и в Opera. текст выводится, все чин чином. А FireFox ну не выводит,и всё. хоть убейся, мучаюсь уже достаточно долго. пробовал вместо onLoad использовать onData с соответсвующим синтаксисом - результат тот же (нулевой).
вот код:
Код AS1/AS2:

System.useCodepage=true;
var loadvars_pb:mx.controls.ProgressBar;
var my_lv:LoadVars = new LoadVars();
loadvars_pb.mode = "manual";
this.createEmptyMovieClip("timer_mc", 999);
timer_mc.onEnterFrame = function() {
    var lvBytesLoaded:Number = my_lv.getBytesLoaded();
    var lvBytesTotal:Number = my_lv.getBytesTotal();
    if (lvBytesTotal != undefined) {
    pole.text="Loaded "+lvBytesLoaded+" of "+lvBytesTotal+" bytes.";
    loadvars_pb.setProgress(lvBytesLoaded, lvBytesTotal);
    }
};
my_lv.onLoad = function(success:Boolean) {
    loadvars_pb.setProgress(my_lv.getBytesLoaded(), my_lv.getBytesTotal());
    delete timer_mc.onEnterFrame;
    if (success) {
    pole.text=unescape(my_lv.toString());
    } else {
    pole.text="An error occurred while loading variables.";
    }
};
my_lv.load("/texts/about_content.txt");


mooncar 04.01.2011 15:32

Попробуйте так, если директория, где находится страница с опубликованной флешкой - родительская по отношению к texts:
Код AS1/AS2:

my_lv.load("texts/about_content.txt");

"/" в начале адреса означает корневую директорию.

rainbowrussia 04.01.2011 23:16

Для начала попробуйте убрать "System.useCodepage=true;" и содержимое "about_content.txt" привести в кодировку UTF-8. Если не поможет - залейте куда-нибудь флешку и дайте адрес.

Sinusoid 05.01.2011 20:01

быть может, вы меня неправильно поняли, я под "ничего не выводит" имел ввиду "отображается An error occurred while loading variables."

mooncar, зачем убирать slash?? в опере и эксплорере-то отображает, значит хост парсит правильно.

rainbowrussia, проблемы с кодировкой не могут быть причиной отрицательного ответа на подгрузку как таковую.

Добавлено через 6 часов 17 минут
проблема все еще актуальна! где вы, флэш гуру?

rainbowrussia 06.01.2011 08:34

Если не хотите показывать пациента, то попробуйте заменить
Код AS1/AS2:

my_lv.load("/texts/about_content.txt");

на
Код AS1/AS2:

my_lv.load("/texts/about_content.txt?");

на случай если в вашем FireFox закешировался факт отсутствия файла, когда его еще не было.

mooncar 06.01.2011 10:32

Цитата:

Сообщение от Sinusoid (Сообщение 962253)
быть может, вы меня неправильно поняли, я под "ничего не выводит" имел ввиду "отображается An error occurred while loading variables."

mooncar, зачем убирать slash?? в опере и эксплорере-то отображает, значит хост парсит правильно.

Я вас прекрасно понял. Ошибка, когда аргумент обработчика onLoad становится false, говорит либо о неправильном адресе, либо об отсутствующем файле по ожидаемому адресу.

Было не очень понятно, как вы тестили - из браузера локально или по http.
Потому и приходится гадать. Если у вас уже все на сервере, то проблема решается за 5 минут.
Ставьте себе HTTPFox или другой снифер и смотрите, какие идут запросы, т. е. увидите и адрес, который "парсит хост" и результат запроса (404 в случае ошибки - неверного URL или отсутствующего файла).

Присоединяюсь также к rainbowrussia и советую в конце адреса прикручивать что-то для исключения кэширования.
Я обычно к адресам добавляю ... + '?r=' + Math.rand()

Sinusoid 06.01.2011 15:43

Вот пациент:) www.эталонъ.рф
тестирую все на сервере, когда тестирую локально все норм.
насчет кэширования: всегда чищу кэш прежде чем смотреть после обновления. сейчас посмотрю сниффером. да, еще насчет кэширования. почему тогда в опере и эксплорере отображается нормально? меня очень смущает этот факт.

dark256 06.01.2011 15:58

1. Выключаю музыку - "не хватает системных ресурсов". вы там это.. чего курите?

2. РФ зона - ага. Локально пашет, удаленно - нет. Поздравляю. С русскими именами доменов уже пол рунета парится. Классная фишечка. Для дурачков.

3. about_content.txt - нормально грузится.
А то что внутри... нда... это ни текст, ни штмл, ни хмл... определитесь.
Зачем по 2-3-4 текстовых файла грузить при одном клике - тоже непонятно.
В одну XML все сразу затолкайте прямо при первичной загрузке и все.

В целом - смотреть и лечить нечего. Все надо убить и делать заново :)

rainbowrussia 06.01.2011 17:59

Я правильно понял что надо смотреть "О нас"? У меня в FireFox все нормально (portable, 3.0.5), думаю дело в русскоязычном домене. У меня он открывается как http://www.xn--80awgdr6cp.xn--p1ai/ и все показывает.

Думаю надо сделать следующее:

1) Добавить правильный crossdomain.xml в корень, разрешающий грузить данные с любого домена, на случай если флеш считает что данные грузятся с другого сайта и пытается его загрузить.
Код:

<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

2) Если не поможет, то оставить crossdomain.xml, но тексты грузить по абсолютной ссылке, только не с русскоязычного домена, а типа http://www.xn--80awgdr6cp.xn--p1ai/t...deo_header.txt в расчете на то, что флеш "не увидит" русских букв, загрузит crossdomain.xml, текст и останется доволен.

3) Если и это не поможет - дополнительно изменить адрес флешки с "main22.swf" на "http://www.xn--80awgdr6cp.xn--p1ai/main22.swf".

4) Уж если и это не поможет... завести дублирующий домен типа etalonrf.ru и грузить флешку и текстовые файлы с него. Или сделать редиект с эталон.рф -> etalonrf.ru, так как сайт все-равно на флеше и индексироваться не будет (файлы с текстами внешние).

Sinusoid 06.01.2011 21:13

dark256, а вы всегда, когда вас спрашивают, как поменять перегоревшую лампочку, отвечаете "подключайся к другой электростанции"? во-первых, "не хватает системных ресурсов" стоит не на включение музыки, а на фулскрин, ибо при нем оч жестко тормозит. я решил тупо обмануть всех и вставил эту надпись :) во-вторых, выбор рф зоны - дело заказчика. в третьих, при одном клике грузится только один файл основного содержимого. а про xml вы, пожалуй правы.


rainbowrussia, сейчас буду пробовать.

Добавлено через 1 час 13 минут
rainbowrussia, попробовал всё, кроме создания дублирующего домена - не работает. быть может глюк мозиллы? у меня стоит 3.6.9 версия.

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


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

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