Вход

Просмотр полной версии : Проблемы с XMLObj.load : пара вопросов


MagicMax
06.03.2002, 18:07
В данный момент сделано так : Загружается xml-файл с удаленного сервера .

2 кадр - собственно загрузка

_root.XMLObj = new XML();
_root.XMLObj.load("xmlfiles/101_coord.xml");

5 кадр - проверка на загрузку.

if (_root.XMLObj.loaded) {
некот. действия
} else {
gotoAndPlay(3);
}
Проблема : на моём компе все работает как лейся песня :) У некоторых дизайнеров тоже самое. Но что самое обидное :) у моего начальника (и не только у него) ето дело не работает! _root.XMLObj.loaded = false блин все время. Для справки - все мы объеденены в одну лок. сеть.

Вопросы :
1 - Как сделать что то типа контроллера загрузки, ну там количество загруженных байт и пр.
2 - Какие другие пути решения этой проблемы есть? Может кто сталкивался с подобной проблемой?

Заранее спасибо!

sts
06.03.2002, 18:28
для справки: с удаленного сервера XML грузить без обработки своим серверным скриптом нельзя (если флаш - плагин, если standalone то мона)

MagicMax
06.03.2002, 19:39
А что должен делать етот серверный скрипт? Кстати , у меня ASP на сервере. Сохраняю я как раз с помощью ASP и сохранение работает даже с проблемных компов.

Дайте я догадаюсь.... Серверный скрипт должен выдавать XML-строку, кот. я буду грузить с помощью loadVariables? Так что ли?

MagicMax
11.03.2002, 14:26
Сделал как я и хотел - Серверный скрипт выдает XML-строку, кот. я гружу с пом. XMLObj.load... И все равно на некоторых компах не грузится... Бред какой то...
Уважаемый STS, выручайте, расскажите поконкретнее что Вы знаете о этой проблеме?

sts
11.03.2002, 15:59
попробуй может вот так вместо if (_root.XMLObj.loaded) :

_root.XMLObj = new XML();
_root.XMLObj.load("xmlfiles/101_coord.xml");
_root.XMLObj.onLoad = myfunc;

function myfunc() {
некот. действия...

MagicMax
11.03.2002, 16:13
OnLoad уже опробован... Такой же результат.

Поискал по форуму по слову "сервер" нашел обсуждение такой же проблемы, выводом было то, что ето проблема комбинации IE 6.0 + 2000/XP. Пишут, что под Нетскапом все работает, я правда не проверял. Причем проблема была нерешена нигде. :( Ерунда какая то... Может 6-й флеш ету проблему решит... но на него надеятся нельзя. Как я понял, никто не знает в чем проблема. Если я найду решение - я напишу. STS - Спасибо огромное! Буду искать дальше.

MagicMax
18.03.2002, 14:34
Ну чтож, после многих попыток загрузить файл напрямую из флеша на проблемные компы сделал так: загрузил файл сначала в IE6.0, а отудава передал во Флешку, правда работать будет, как я понял только в IE , ну и фиг с ним, наша корпоративная сеть как раз под IE и заточена. Правда придется парсить в флеше, но ето ерунда.

var XMLDocCoord = new ActiveXObject("microsoft.xmldom");
XMLDocCoord.async = false;
XMLDocCoord .load("http://xaxaxa.ru/max/xmlfiles/101_coord.xml");
if (XMLDocCoord.readyState==4 && XMLDocCoord.parseError==0){
document.movie.setVariable('XMLTempCoord' , XMLDocCoord.xml);
XMLDocCoord=null;
XMLDocPrice=null; }

Stellerex
19.03.2002, 16:40
1. http://chattyfig.figleaf.com/~bhall/code/xmlack.zip - XML:ACK, можешь организовать контролера загрузки.
2. onLoad в пятерке глючит, однозначно - на него надеяться нельзя, лучше проверять свойство loaded в цикле. Попробуй, опиши проблему в контексте - что грузится, откуда, как генерится, может помогу.

MagicMax
19.03.2002, 17:09
Дело в том, что я не хочу юзать недокументированные возможности Флеша. Я б уже етот XMLack или какой то там Nitro давно б юзал. Ето счас, точнее в 5-ке они (которые недокументированные) работают, а в МХ не факт что так будет. А в 5-ке глючит и OnLoad и Loaded в цикле, я нигде не нашел решения етой проблемы, как я понял, ето происходит в случае связки IE6 + W2K/XP. В 50 % случаев почему то Флеш не получает данные. Файлы, кот. лежат на сервере уже давно закачались в Кэш, но такое вчепятление, что Експлорер просто не дает им возможность уйти во флеш. Похоже решением етой проблемы без использования недокументированных методов я как раз и нашел. Просто загрузить в IE а уж потом с пом. JS передать данные во Флеш. Правда работает только под IE.

А система такая : грузятся одновременно 2 well-formed xml-файла (именно файла, один максимум где то 30-40 Кб, другой до 10 Кб.) с сервера в локальной сети, оттуда же где лежит сам файлик флеша, ну с другой папки только , а потом склеиваются в флеше, ета вся конструкция не тупит, потому что XML данные у меня построены в одну строку, без пробелов и т.д. Раньше грузил XMLObj.load, потом, как увидел, что кой-где ето глючит сделал загрузку из Експлорера.

Скорее всего ето баг Експлорера. Наверно что то связанное с безопастностью или еще чего...

Stellerex
19.03.2002, 17:58
Ну, насчет Nitro, положим, ты не прав - пользоваться им можно безо всякого опасения, его код отрабатывает только в пятерке, а в MX его функциональность продубликована. Даже, говорят XML парсит быстрее.
Насчет XML:ACK - да, тут ты прав. Однако, опять же - можешь проверять версию плагина и пользоваться либо им, либо новыми фичами, типа .getBytesLoaded() и .getBytesTotal() у XML объектов.

За разъяснение спасибо, однако по прежнему непонятка. Про баг IE6 + W2K/XP я ничего не слышал, буду признателен за информацию. Может бага идет при генерировании xml через asp?

MagicMax
19.03.2002, 18:23
XML файл не генерируется ASP, он просто лежит на сервере. Правда я его сохраняю с пом. Флеша и ASP.

Stellerex
19.03.2002, 18:48
хм. Ну тогда совсем дурацкое предположение:
Один раз была бага - флэшка лежит, скажем, в www.site.com/folder/index.html, xml генерится файлом, который лежит рядом, скажем www.site.com/folder/processor.xml
Так вот, если в бровзере написать www.site.com/folder, то умный бровзер подумает, что я пропустил слэш, сам его добавит и все будет в керосине, однако флэшка будет глючавить и ничего грузить, естественно, не станет, а если написать этот же урл со слэшом в конце, то все замечательно.

Сорри, что несколько сумбурно объяснил, но мораль такова - попробуй грузить хмл, указав путь от корня сайта.

MagicMax
19.03.2002, 18:57
Как я понял, Вы имели в виду, чтоб я попробовал абсолютные и относительные пути? Пробовал и те и те ... Ничего не помогает. Хотя не пробовал комбинацию IE( абс пути)+Flash (абс пути), может и заработает. Завтра попробую обязательно.

Stellerex
19.03.2002, 19:16
Угу, было бы весьма интересно узнать о результатах эксперимента.
Если код не жутко секретный, я могу поковыряться. И эта... мне еще не 152 года - можно и на "ты" :)

MagicMax
22.03.2002, 13:37
Я тут приболел, мля, колбасит не по детски :rolleyes:

К сожалению не могу дать покопаться в коде :( Если б я сам ето все дело писал для себя, тоды дал бы, а так я на фирму работаю, и тут ето называется коммерческой тайной, о как...
А по поводу эксперимента, то я вспомнил, что так уже делал, опять же результат нулевый.... :(

Зараза, у меня новая проблема... 5-й плейер отображает мое приложение хоть с тормозами, но терпимыми, а 6-ка тупит офигительно, писал об етом баге в Макромедию, они мажутся, типа код проверяй... Засранцы... Буду бомбить их письмами...

metton
05.05.2002, 04:06
2MagicMax
а мона поподробнее, какие у XML есть недокументированные свойства и для чего они?..
спасибо...

MagicMax
06.05.2002, 12:04
Я разобрался почему МХ тупит. У меня XML состоит из допустим 484 элементов и в каждом элементе от 3 до 7 атрибутов. Что я делаю - я загружаю файл и пробегаю по дереву XML считывая все атрибуты. Какой мы получаем цикл - 484*(берем в среднем 5 атрибутов) примерно больше 2500. Для 6-ки цикл в 2500 - ну очень блин сложная задача... :( Именно в ето время мое приложение в 6-ке умирало, а в 5-ке работало. Поетому пришлось отдать выполнение части работы в Java Script, и все заработало. К томуже отошел от простого цикла к объектам, здесь 6-ка работает как лейся песня :) - быстро и качественно. Всем спасибо за участвие!

sts
06.05.2002, 15:07
2MagicMax

vsem vidish interesno :)

rasskazhi popodrobnee o problemah i kak .js pomogla i pochemu 6-ka oblomala :(
nu ili urok napishi (no lucshe zdes'=)

MagicMax
07.05.2002, 11:50
Через некоторое время обещаю сделать обзор проблем, возникших во время создания моего проекта - это долгая история, поетому мне надо будет вспомнить все проблемы, с кот. я столкнулся и написать о них. Возможно обзор появится после пряздников, но я постараюсь после работы дома его написать.