Загрузка страницы в переменную (JavaScript)
От: LAndrew  
Дата: 04.12.06 14:09
Оценка:
Подскажите, плз, можно ли как-нибудь на JavaScript загрузить какую-нибудь страницу (не свою! и не на своем сервере!) в переменную и потом проделать над ней какие-либо действия.
для начала, можно чтоб работала следующая конструкция:

var d = document.open("get", "http://www.shender.ru/syrok/print/");
alert(d.outerText);


код
var d = document.open("get", "http://www.shender.ru/syrok/print/");

как раз должен быть исправлен (ибо эта конструкция не работает)

независимость от браузера не важна, использование XMLHttpRequest тоже пойдет...

в результате нужно отобразить обработанную страницу...
Re: Загрузка страницы в переменную (JavaScript)
От: Alexey Shtokalo Россия http://alexey.shtokalo.net
Дата: 04.12.06 15:10
Оценка:
Здравствуйте, LAndrew, Вы писали:

LA>Подскажите, плз, можно ли как-нибудь на JavaScript загрузить какую-нибудь страницу (не свою! и не на своем сервере!) в переменную и потом проделать над ней какие-либо действия.

LA>для начала, можно чтоб работала следующая конструкция:

LA>
LA>var d = document.open("get", "http://www.shender.ru/syrok/print/");
LA>alert(d.outerText);
LA>


LA>код

LA>
LA>var d = document.open("get", "http://www.shender.ru/syrok/print/");
LA>

LA>как раз должен быть исправлен (ибо эта конструкция не работает)

LA>независимость от браузера не важна, использование XMLHttpRequest тоже пойдет...


LA>в результате нужно отобразить обработанную страницу...


Согласно политики безопасности браузера подобная конструкция работать не будет! Кроме случая когда JavaScript выполняется в рамках HTML Application. Вы также не сможете прочесть содержимое фреймов если они открыты из других доменов. Но решение как всегда простое — сделайте простую прокси, тогда ваш код будет выглядеть, например так:

var d = document.open('get', 'proxy.php?http://www.shender.ru/syrok/print/');


тут proxy.php — это ваша прокси на вашем сервере, приблизительно с таким кодом:

<?php

// тут обязательно надо проверять чего мы читаем и для кого
readfile($_SERVER['QUERY_STRING']);

?>


а метод open можно реализовать с помощью AJAX, например так:


document.open = function (_strMethod, _strUrl, _strRequest)
{
    var objTransport = false;
    if (window.XMLHttpRequest)
    {
        // Mozilla, Safari,...
        objTransport = new XMLHttpRequest();
        if (objTransport.overrideMimeType)
        {
            objTransport.overrideMimeType("text/xml");
        }
    }
    else if (window.ActiveXObject)
    {
        // IE
        try
        {
            objTransport = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                objTransport = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                return false;
            }
        }
    }
    if (objTransport)
    {
        try
        {
            if (_bolJustSend == null)
            {
                _bolJustSend = false;
            }
            objTransport.open(_strMethod, _strUrl, false);
            objTransport.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            objTransport.send(_strRequest);
        }
        catch (e) {}
        return objTransport.responseText;
    }
    return false;
}
Re[2]: Загрузка страницы в переменную (JavaScript)
От: LAndrew  
Дата: 05.12.06 10:55
Оценка:
Здравствуйте, Alexey Shtokalo, Вы писали:

AS> ...

AS>Согласно политики безопасности браузера подобная конструкция работать не будет! Кроме случая когда JavaScript выполняется в рамках HTML Application.
AS> ...
а что в данном случае подразумевается под HTML Application?

зы. спасибо за ответ!
Re[3]: Загрузка страницы в переменную (JavaScript)
От: Alexey Shtokalo Россия http://alexey.shtokalo.net
Дата: 05.12.06 11:45
Оценка:
Здравствуйте, LAndrew, Вы писали:

LA>а что в данном случае подразумевается под HTML Application?


http://msdn.microsoft.com/workshop/author/hta/overview/htaoverview.asp
Re[3]: Загрузка страницы в переменную (JavaScript)
От: Аноним Великобритания  
Дата: 05.12.06 11:47
Оценка:
LAndrew wrote:

> а что в данном случае подразумевается под HTML Application?

Гугл отменили? http://www.google.ru/search?q=html+application
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.