Просмотр полной версии : XML.load формат данных
1. насколько для него важна правильность XML документа?
т.е. я хочу загрузить простой HTML, соответсвенно там могут быть не закрытые теги, атрибуты без кавычек, и пр.
поймет ли он такое?
2. возможно ли загрузка в XML формате из скрипта, предавая туда данные Post'om?
3. если нет, то можно ли загрузить данные из текстового файла, кроме как LoadVariables? допустим это просто plain текст
4. объясните на пальцах разницу между LoadVariables, и LoadVariablesNum
заранее благодарен
УильямБрэдберри
14.01.2003, 12:22
1 ему абсолютно пофигу, что грузить, но html он не пропарсит в 95%
2 да
3 тем же XML.load
|| loadVars
4 если loadVariablesNum, то данные ты грузишь в _level
если loadVariables, то в муви-клип.
1. т.е. я могу загрузить в XML объект HTML, но не получится распарсит, но использовать я его смогу? так?
2. а поподробнее в документации у XML.Load сигнатура
myXML.load(url)
как сказать чтобы данные грузились POST?
а loadVariables предназначен для загрузки _только_ в формате
var1=value1&var2=value2
?
насчет второго поста уеs
насчет первогопоста первый вопрос да
второй не знаю я
пример использования
o = new XML();
o.load("test.txt");
o.ondata = function(data) {
images = data.split("\r\n");
play();
};
поюсню создаем обьект хмл загружаем файл но не обрабатываем
на сабытие ондата идет обработка файла пример мне дал свое время ish
УильямБрэдберри
14.01.2003, 16:45
john меня в свое время поправил
o.load ставится в последнюю очередь,
так грамотнее выглядит, хотя и не принципиально.
1. т.е. я могу загрузить в XML объект HTML, но не получится распарсит, но использовать я его смогу? так?
1 да так
использовать можно
но флэшевлму парсеру тут доверять не стоит, если не известен заранее контент (что там не будет незакрытых тэгов например).
2 o.load обязан POST-ом грузить просто
Спасибо! все заработало. Но вылезло 2 новые проблеммы.
1. у загруженного текста не показываются русские буквы
2. как обработать ошибку, когда нет соединения с URL из которого грузим XML?
1 поиск или System.useCodepage=true; или перекадируй текст в иникод так верней
2 я тебе сразу не скажу но повидимуму используй простую проверку на загрузку XML.getBytesTotal
XML.getBytesTotal в том случие если не чего не загруженно(на самом деле эта цифра не равна нулю где- то 4 байта но я могу ошибаться)
или используй XMLSocket.connect далее пример из хелпа
function myOnConnect(success) {
if (success) {
trace ("Connection succeeded!")
} else {
trace ("Connection failed!")
}
}
socket = new XMLSocket()
socket.onConnect = myOnConnect
if (!socket.connect(null, 2000)) {
trace ("Connection failed!")
}
file://localhost/C:/PROGRAM%20FILES/MACROMEDIA/FLASH%20MX/Help/Flash/ContextHelp.htm
Хорошо, следующий момент.
моя Флешка долна загрузить XML с машины клиента, это возможно? не по абсолютному пути а по URL
вроде http://localhost:8978/path
почему то локально работает, выкидываю на хостинг - не работает
насчет первого не знаю насчет второго делай проверку загрузки файла
Socket мне не подходит, ибо я в URl передаю параметры.
я делаю по аналогии ( поправьте где я вру?)
на кнопку:
on(release)
{
txtStatus="loading....";
var o= new XML();
o.load("http://127.0.0.1:8888/myscript?id=123");
o.onData = function(data) {
outText = data;
txtStatus="Load Success";
play();
};
o.onLoad = function(success) {
if (success){txtStatus="Load Success"; }
else{txtStatus="Load FAILED";}
};
}
вот исходник посмотрите плз, что не так?
я уже совсем ничего не понимаю
Похоже я понял, я это ввело меня в ступор.
ЗАЧЕМ??? Зачем это сделано?
я имею ввиду вот эту строку из документации
" The URL must be in the same subdomain as the URL where the movie currently resides. "
...
=((
какое зло можно причинить _считав_ файл с другого хоста, ведь то что его нельзя считать флешем, не значит что его нельзя считать совсем.
:( :( :( :( :(
было бы смешно еслиб не было так грустно
даже боюсь спрашивать почему грустно
разачаровался во флеше..... :( :( :(
а XMLSocket то, может к любому соединится хосту? или тоже только к своему?
Такое ограничение сделано для безопастности.
Не столько пользователя, а сколько самой технологии.
Если бы было бы разрешено обращаться к любому домену из другого домена, то можно было из флэш-банеров, к примеру, "бомбить", "атаковать" какой-нибудь другой домен. Или из них же посылать информацию о пользователе.
Если бы так было, то использование технологии стало бы под вопросом.
Для обращение на другой домен используется прокси, которая реализована в Macromedia FlashComm.
В этом случае плейер обращается к своему домену, а серверное приложение в свою очередь "общается" с другим доменом и возвращает результат плейеру.
Сейчас уже есть другие реализации, которые используют возможности коммуникации шестого плейера, созданы по принципу FlashComm.
так если флешка расположена на HTML странице, а со страницы я могу "бомбить" другие домены, то почему не могу со флешки.
это глупо. я понимаю если бы это запрещали все технологии...
:eek:
с точки зрения безопастности, критично только запрет обращения к локальным ресурсам клиента.
ХТМЛ страницу можно сразу вычислить.
Флэш же банеры будут на разных доменах, на разных страницах,
незнаю навернека но тут есть интересная стотья про решение твоей проблемы http://www.flash-ripper.com/articles/flash/2002_05_16_system_security_allowdomain.htm
;) Ух ты, спачибо огромное, сейчас буду пробовать..... ;)
о результатах отпишу если интересно
похоже это не совсем то.... вот что написано на макромедии: думаю переводить не надо...
Scenario
<http://www.macromedia.com/MovieA.swf> loads <http://www.shockwave.com/MovieB.swf>. MovieA.swf contains the command System.security.allowDomain("shockwave.com") . Therefore, MovieB.swf will be able to access the objects and variables of MovieA.swf.
кароче из мувика б будет доступны обекты и переменые мувика а
ты попробуй
должно плисать хотя и необязано и с xml у них же одинаковые ограничение по безопастности
да, не...
allowDomain вызывается в ролике _который_ вызывают
т.е. если мы из A вызываем Б то allowDomain нам надо делать в Б на доменн А
да я понимаю жаль что не смог тебе помочь :(
все равно удачи
да ничего, придется сделать маленькую инсталяшку, которая будет на клиента записывать флешку, вроде если с локальной машины запущена флешка, то она может к любому домену обращатся...
кстати так возможно?
страница на моем серваке, на нее пользователь заходит, а на ней флешка грузится с машины пользователь типа по пути
c:\programm files\Mogadan\Super.swf
?
напримую нет а вот через jS я палагаю да
все равно вапрос не ко мне создай новую тему
если через JS то событие onLoad в боди используй
напримую нет а вот через jS я палагаю да
все равно вапрос не ко мне создай новую тему
если через JS то событие onLoad в боди используй но броузер всеравно спросит у пользователя хочет он загрузить или нет
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.