2010-09-12 3 views
0

Я пытаюсь получить исходную страницу веб-страницы в другом домене. Я знаю, что это легко сделать с PHP, например, но я хотел бы сделать это в Javascript, потому что я получаю результаты от страницы, и если я использую серверный язык, исходный веб-сайт будет блокировать вызовы, поскольку они происходят из того же IP. Однако, если вызовы выполняются на стороне клиента, это похоже на то, что пользователь каждый раз запрашивает результаты каждый раз (разные пользователи, разные IP-адреса, нет исходного сайта, блокирующего меня). Есть ли способ сделать это (даже если не в Javascript, а на стороне клиента).Как получить источник страницы страницы в другом домене (в Javascript!)

Чтобы уточнить код, который я хочу, будет применен к HTML-странице, чтобы я мог получать результаты, стилить их, добавлять/удалять и т. Д., А затем отображать их пользователю.

спасибо.

ответ

3

Современные браузеры поддерживают crossdomain AJAX вызовов, но целевой сайт должен разрешить их с помощью специальных заголовков в ответ. Кроме того, нет чистого Javascript решения AFAIK.

0

В Windows вы можете использовать HTA

HTA может получить доступ ничего crossdomain в IFRAME, например

+0

Это не дает ответа на этот вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – Bakuriu

+0

Он отвечает на него так же, как и принятый ответ. Если OP хочет пример, он может прокомментировать мой ответ. – mplungjan

+0

Возможно, я неправильно «пометил» это как не ответ, но OP не сказал, что ему нужно единственное решение Window. Также я подумал, что это может быть комментарий по вопросу или принятый ответ (который, по крайней мере, говорит, что нет никакого способа сделать это правильно для каждого случая только с Javascript.) – Bakuriu

0

Не могли бы вы использовать iframe? Вы не будете иметь прямой доступ к разметке из-за ограничений между доменами, но вы все равно можете дисплей страница третьей стороной к пользователю ...

window.onload = function() { 
    var i = document.createElement("IFRAME"); 
    i.setAttribute("name", "ID_HERE"); 
    i.setAttribute("id", "ID_HERE"); 
    i.setAttribute("src", "URL_HERE"); 
    i.style.maxHeight = "300px"; 
    i.style.width = "100%"; 
    document.body.appendChild(i); 
} 
+0

Ну, на самом деле, так как мне нужна часть страницы, которая была возвращена не всем. Есть ли простой способ отображать только часть страницы (длина и ширина могут меняться в зависимости от того, что вернулось. Есть ли способ решить, например, в зависимости от идентификатора, чтобы отображать только эту часть? – user220755