Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   ActiveXObject, XMLHttpRequest, Microsoft.XMLHTTP и прочее (https://javascript.ru/forum/events/10041-activexobject-xmlhttprequest-microsoft-xmlhttp-i-prochee.html)

lousx 16.06.2010 18:24

ActiveXObject, XMLHttpRequest, Microsoft.XMLHTTP и прочее
 
Скажите пожалуйста, какими браузерами и в каких версиях какие объекты для чтения файлов поддерживается/используются.
Реализуется ли все-таки кроссбраузерность при чтении и записи файлов JavaScript'om

Гуглил - не нашел

Смутило это:
Цитата:

: имеются две реализации компонента Active X, формирующего HTTP-запрос – Microsoft.XMLHTTP и Msxml12.XMLHTTP. Очевидно, что это разные версии компонента.

Но, что более важно, далеко не очевидно то, что данные компоненты от одного и того же производителя несовместимы друг с другом.
Будет ли этот код работать во всех(в т.ч. новых версиях IE) браузерах?
function httpRequest(reqType,url,asynch){
if(window.XMLHttpRequest){
request = new XMLHttpRequest( );
} else if (window.ActiveXObject){
request=new ActiveXObject("Msxml2.XMLHTTP");
if (! request){
request=new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(request){
initReq(reqType,url,asynch);
} else {
alert("Your browser does not permit the use of all "+
"of this application's features!");
}
}
function initReq(reqType,url,bool){
request.onreadystatechange=handleResponse; 
request.open(reqType,url,bool);
request.send(null);
}

e1f 16.06.2010 19:19

lousx, посмотрите реализацию получения XHR в какой-то из фреймворков (тот же jQuery, к примеру). Там никто этим не заморачивается:
var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

lousx 16.06.2010 19:30

Т.е. это
var xhr = window.ActiveXObject ? new  ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

работает во всех браузерах всех версий?

С помощью JavaScript можно сохранять данные в файл?

e1f 16.06.2010 20:14

lousx, а каким боком XMLHTTP качается чтения файлов на локальном компьютере? Сохранять данные в файл на компбютере пользователя можно в ИЕ, при определенных настройках безопасности.

lousx 16.06.2010 20:21

e1f чтение запись на сервере. Я вроде про локальный комп ничего не говорил

e1f 16.06.2010 20:32

Цитата:

Сообщение от lousx (Сообщение 59762)
Скажите пожалуйста, какими браузерами и в каких версиях какие объекты для чтения файлов поддерживается/используются.

lousx, я подумал, что именно у клиента. XHR позволяет получить файл с сервера, и потом с ним что-то можно сделать. Залить на сервер через XHR -- насколько помню, нет, обычно для этого используется submit формы в скрытый iframe.

lousx 16.06.2010 20:49

Цитата:

обычно для этого используется submit формы в скрытый iframe.
Можно ссылочку где можно об этом почитать?

Kolyaj 16.06.2010 21:03

lousx,
браузер с сервером общаются по протоколу HTTP. Какие файлы?

lousx 16.06.2010 22:20

Kolyaj,txt

Gvozd 16.06.2010 22:27

Цитата:

Сообщение от Kolyaj
браузер с сервером общаются по протоколу HTTP. Какие файлы?

HTTP позволяет записывать на сервер файлы
и речь идет даже не совсем о серверных скриптах

Kolyaj 16.06.2010 22:38

Gvozd,
не путай ресурсы с файлами. В Apache ресурс == файл, но файлы он, разумеется, не создаёт.

lousx 16.06.2010 23:36

Проще...
С помощью JavaScript нужно прочесть файл txt в массив, изменить его. И полученный массив записать в txt. Это возможно сделать на JS (AJAX)???

Gvozd 16.06.2010 23:41

Цитата:

Сообщение от lousx
Это возможно сделать на JS (AJAX)???

при условии, что увас на сервере есть скрипт, который поможет вам сохранить переданную ему инфу

lousx 17.06.2010 00:27

Цитата:

Сообщение от Gvozd (Сообщение 59794)
при условии, что увас на сервере есть скрипт, который поможет вам сохранить переданную ему инфу

Серверный скрипт на каком языке?

Gvozd 17.06.2010 00:31

Цитата:

Сообщение от lousx
Серверный скрипт на каком языке?

на любом, который есть у вас на сервере, и позволяет сохранять файлы.
PHP, Perl, Python, C/C++, etc...

lousx 17.06.2010 00:33

Т.е. как я понимаю чисто на JS это не возможно?

Gvozd 17.06.2010 00:52

ну, есть несколько проектов, по выполнению JS-кода на сервере, но они пока еще не являются развитыми, и вам как новичку, не советую заморачиваться на этих проектах

Gozar 17.06.2010 09:44

Цитата:

Сообщение от lousx (Сообщение 59798)
Т.е. как я понимаю чисто на JS это не возможно?

lousx, http://javascript.ru/forum/misc/9459...prosy-faq.html 4. вопрос ваш


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