Как в javascript получить в переменную содержимое файла лежащего на удаленном http сервере? Необходимо ли использование XPCOM?

P.S. Посоветуйте хороший справочник по javascript для Mozilla.

Получить в переменную содержимое файла на удаленном сервере можно, только если:
1) скрипт вызывается с того же самого сервера, где и лежит этот файл;
2) скрипт расположен по адресу chrome://, т.е. это расширение.

Реализовать можно, например, так:

var url="http://site.ru";
var xrequest=new XMLHttpRequest();
xrequest.open("GET",url,false);
xrequest.send("");
var result=xrequest.responseText;

Да, расширение пытаюсь написать. Спасибо.

Возникла проблема с XMLHttpRequest. Есть такой код:

Выделить код

Код:

var xrequest=new XMLHttpRequest();
  xrequest.open("GET",url,false);
  xrequest.setRequestHeader("Accept-Language", "ru, en");
  xrequest.setRequestHeader("Accept-Charset", "windows-1251"); 
  xrequest.send("");
  var result=xrequest.responseText;

В принципе работает, но сервер выдает неполные заголовки без "charset=windows-1251". И в результате responseText думает что кодировка utf8 и коверкает русские буквы. Повлиять на администрацию сервера нет возможности. Как быть?

Проблема давно решена. В связи с багом в Gecko код должен выглядеть так

Выделить код

Код:

var request=new XMLHttpRequest();
    request.open("GET","http://url",true);
    request.overrideMimeType('text/XML;charset=windows-1251');
    request.onload = function()  {
                        if(request.readyState==4){
                          if(request.status==200) 
                             var result = request.responseText;                         
                       }
    }
    request.onerror = function() {...}
    request.send("");