Здравствуйте.
Скажите как загрузить произвольную страницу/файл с любого сервера в дополнении для FF2 и FF3?
Пробовал так:

Выделить код

Код:

var r=new XMLHttpRequest();
r.open("GET","http://server.com/file.s");
r.onerror=function (ev)
{
...обработка...
}
r.onload=function (ev)
{
...обработка...
}
r.send(null);

Не получилось :(

r.onload=function (ev)

А Это откудого взято?

http://ru.wikipedia.org/wiki/XMLHttpRequest
Бери, не промахнешся (если только для FF, то выкинь часть кода для IE)

Выделить код

Код:

var req;
 
function loadXMLDoc(url)
{
    req = null;
    if (window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
    }
 
    if (req) {
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    }
}
 
function processReqChange()
{
  try { // Важно!
    // только при состоянии "complete"
    if (req.readyState == 4) {
        // для статуса "OK"
        if (req.status == 200) {
            // обработка ответа
        } else {
            alert("Не удалось получить данные:\n" +
                req.statusText);
        }
    }
  }
  catch( e ) {
      // alert('Caught Exception: ' + e.description);
      // В связи с багом XMLHttpRequest в Firefox приходится отлавливать ошибку
      // Bugzilla Bug 238559 XMLHttpRequest needs a way to report networking errors
      // https://bugzilla.mozilla.org/show_bug.cgi?id=238559
  }
}

Таким образом ничего и не получится. Песочница браузера запрещает ajax-запросы на другие домены.
Выходов много, не знаю, что именно Вам надо сделать, потому и не предлагаю конкретное решение. Погуглите на "кроссдоменный ajax".

Таким образом ничего и не получится. Песочница браузера запрещает ajax-запросы на другие домены.

Какие "другие домены"? Человека интересует скачивание страницы из локального расширения.

Выделить код

Код:

var req = new XMLHttpRequest();

req.open("GET", url, true);

req.onreadystatechange = function()
{
	if(req.readyState == 4)
	{
		if(req.status == 200)
		{
			var text = req.responseText; // текст страницы
		}
	}
}

req.send(null);