Получить объекты из JavaScript, используя URL без загрузки документа - PullRequest
0 голосов
/ 22 июня 2011

У меня есть URL, который ссылается на документ HTML, и я хочу получить объекты документа без загрузки URL в моем браузере.например, у меня есть URL-адрес: http://www.example.com/, как я могу получить один объект (т.е. с помощью getElementsbyTagName) этого документа?

Ответы [ 4 ]

0 голосов
/ 22 июня 2011

Если URL находится в одном домене, вы можете использовать .load(), например:

$("some_element").load("url element_to_get")

См. Мой пример - http://jsfiddle.net/ajthomascouk/4BtLv/

Об этомНапример, он получает H1 с этой страницы - http://jsfiddle.net/ajthomascouk/xJdFe

Его трудно показать с помощью jsfiddle, но я надеюсь, что вы поняли суть этого?1016 *http://api.jquery.com/load/

0 голосов
/ 22 июня 2011

Вы не можете. Вы можете в лучшем случае опустить посторонние файлы, на которые ссылаются изнутри документа, например javascript или css, но вы не можете просто взять одну часть документа.

Как только у вас есть документ, вы можете извлечь из него раздел, но вы не можете просто получить раздел, не получив сначала всего этого.

Это то же самое, что сказать, что вы хотите второй абзац эссе. Без эссе вы не знаете, что это за второй абзац, где он начинается или заканчивается.

0 голосов
/ 22 июня 2011

Этот документ находится в том же домене или другом домене, где находится домен безопасности, в котором работает ваш javascript.

Если он находится в том же домене, у вас есть несколько вариантов для изучения.

Вы можете загрузить страницу с помощью XMLHttpRequest или JQuery.get и проанализировать искомые данные из HTML с помощью уродливого регулярного выражения.

Или, есливы чувствуете себя действительно умным, вы можете загрузить целевой документ в jsdom объект, jQuerify его, а затем использовать полученный объект jquery для доступа к датеВы ищете с помощью простого селектора.

0 голосов
/ 22 июня 2011

Использование Ajax-вызовов, я думаю.

Это долго объяснять, если вы никогда не использовали XHR, поэтому вот ссылка: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

Другой вариант - создать iframe используя

var iframe = document.create('iframe');
iframe.src = 'http://...';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...