![]() |
Проблемы с XMLObj.load : пара вопросов
В данный момент сделано так : Загружается 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 - Какие другие пути решения этой проблемы есть? Может кто сталкивался с подобной проблемой? Заранее спасибо! |
для справки: с удаленного сервера XML грузить без обработки своим серверным скриптом нельзя (если флаш - плагин, если standalone то мона)
|
Немного не понял ...
А что должен делать етот серверный скрипт? Кстати , у меня ASP на сервере. Сохраняю я как раз с помощью ASP и сохранение работает даже с проблемных компов.
Дайте я догадаюсь.... Серверный скрипт должен выдавать XML-строку, кот. я буду грузить с помощью loadVariables? Так что ли? |
Sux :(
Сделал как я и хотел - Серверный скрипт выдает XML-строку, кот. я гружу с пом. XMLObj.load... И все равно на некоторых компах не грузится... Бред какой то...
Уважаемый STS, выручайте, расскажите поконкретнее что Вы знаете о этой проблеме? |
попробуй может вот так вместо if (_root.XMLObj.loaded) :
_root.XMLObj = new XML(); _root.XMLObj.load("xmlfiles/101_coord.xml"); _root.XMLObj.onLoad = myfunc; function myfunc() { некот. действия... |
:(
OnLoad уже опробован... Такой же результат.
Поискал по форуму по слову "сервер" нашел обсуждение такой же проблемы, выводом было то, что ето проблема комбинации IE 6.0 + 2000/XP. Пишут, что под Нетскапом все работает, я правда не проверял. Причем проблема была нерешена нигде. :( Ерунда какая то... Может 6-й флеш ету проблему решит... но на него надеятся нельзя. Как я понял, никто не знает в чем проблема. Если я найду решение - я напишу. STS - Спасибо огромное! Буду искать дальше. |
Сделал вроде
Ну чтож, после многих попыток загрузить файл напрямую из флеша на проблемные компы сделал так: загрузил файл сначала в 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; } |
1. http://chattyfig.figleaf.com/~bhall/code/xmlack.zip - XML:ACK, можешь организовать контролера загрузки.
2. onLoad в пятерке глючит, однозначно - на него надеяться нельзя, лучше проверять свойство loaded в цикле. Попробуй, опиши проблему в контексте - что грузится, откуда, как генерится, может помогу. |
Дело в том, что я не хочу юзать недокументированные возможности Флеша. Я б уже етот XMLack или какой то там Nitro давно б юзал. Ето счас, точнее в 5-ке они (которые недокументированные) работают, а в МХ не факт что так будет. А в 5-ке глючит и OnLoad и Loaded в цикле, я нигде не нашел решения етой проблемы, как я понял, ето происходит в случае связки IE6 + W2K/XP. В 50 % случаев почему то Флеш не получает данные. Файлы, кот. лежат на сервере уже давно закачались в Кэш, но такое вчепятление, что Експлорер просто не дает им возможность уйти во флеш. Похоже решением етой проблемы без использования недокументированных методов я как раз и нашел. Просто загрузить в IE а уж потом с пом. JS передать данные во Флеш. Правда работает только под IE.
А система такая : грузятся одновременно 2 well-formed xml-файла (именно файла, один максимум где то 30-40 Кб, другой до 10 Кб.) с сервера в локальной сети, оттуда же где лежит сам файлик флеша, ну с другой папки только , а потом склеиваются в флеше, ета вся конструкция не тупит, потому что XML данные у меня построены в одну строку, без пробелов и т.д. Раньше грузил XMLObj.load, потом, как увидел, что кой-где ето глючит сделал загрузку из Експлорера. Скорее всего ето баг Експлорера. Наверно что то связанное с безопастностью или еще чего... |
Ну, насчет Nitro, положим, ты не прав - пользоваться им можно безо всякого опасения, его код отрабатывает только в пятерке, а в MX его функциональность продубликована. Даже, говорят XML парсит быстрее.
Насчет XML:ACK - да, тут ты прав. Однако, опять же - можешь проверять версию плагина и пользоваться либо им, либо новыми фичами, типа .getBytesLoaded() и .getBytesTotal() у XML объектов. За разъяснение спасибо, однако по прежнему непонятка. Про баг IE6 + W2K/XP я ничего не слышал, буду признателен за информацию. Может бага идет при генерировании xml через asp? |
XML файл не генерируется ASP, он просто лежит на сервере. Правда я его сохраняю с пом. Флеша и ASP.
|
хм. Ну тогда совсем дурацкое предположение:
Один раз была бага - флэшка лежит, скажем, в www.site.com/folder/index.html, xml генерится файлом, который лежит рядом, скажем www.site.com/folder/processor.xml Так вот, если в бровзере написать www.site.com/folder, то умный бровзер подумает, что я пропустил слэш, сам его добавит и все будет в керосине, однако флэшка будет глючавить и ничего грузить, естественно, не станет, а если написать этот же урл со слэшом в конце, то все замечательно. Сорри, что несколько сумбурно объяснил, но мораль такова - попробуй грузить хмл, указав путь от корня сайта. |
Как я понял, Вы имели в виду, чтоб я попробовал абсолютные и относительные пути? Пробовал и те и те ... Ничего не помогает. Хотя не пробовал комбинацию IE( абс пути)+Flash (абс пути), может и заработает. Завтра попробую обязательно.
|
Угу, было бы весьма интересно узнать о результатах эксперимента.
Если код не жутко секретный, я могу поковыряться. И эта... мне еще не 152 года - можно и на "ты" :) |
Я тут приболел, мля, колбасит не по детски :rolleyes:
К сожалению не могу дать покопаться в коде :( Если б я сам ето все дело писал для себя, тоды дал бы, а так я на фирму работаю, и тут ето называется коммерческой тайной, о как... А по поводу эксперимента, то я вспомнил, что так уже делал, опять же результат нулевый.... :( Зараза, у меня новая проблема... 5-й плейер отображает мое приложение хоть с тормозами, но терпимыми, а 6-ка тупит офигительно, писал об етом баге в Макромедию, они мажутся, типа код проверяй... Засранцы... Буду бомбить их письмами... |
2MagicMax
а мона поподробнее, какие у XML есть недокументированные свойства и для чего они?.. спасибо... |
немного о тормозах в МХ
Я разобрался почему МХ тупит. У меня XML состоит из допустим 484 элементов и в каждом элементе от 3 до 7 атрибутов. Что я делаю - я загружаю файл и пробегаю по дереву XML считывая все атрибуты. Какой мы получаем цикл - 484*(берем в среднем 5 атрибутов) примерно больше 2500. Для 6-ки цикл в 2500 - ну очень блин сложная задача... :( Именно в ето время мое приложение в 6-ке умирало, а в 5-ке работало. Поетому пришлось отдать выполнение части работы в Java Script, и все заработало. К томуже отошел от простого цикла к объектам, здесь 6-ка работает как лейся песня :) - быстро и качественно. Всем спасибо за участвие!
|
davai kolis' :)
2MagicMax
vsem vidish interesno :) rasskazhi popodrobnee o problemah i kak .js pomogla i pochemu 6-ka oblomala :( nu ili urok napishi (no lucshe zdes'=) |
Через некоторое время обещаю сделать обзор проблем, возникших во время создания моего проекта - это долгая история, поетому мне надо будет вспомнить все проблемы, с кот. я столкнулся и написать о них. Возможно обзор появится после пряздников, но я постараюсь после работы дома его написать.
|
| Часовой пояс GMT +4, время: 20:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.