Получение элементов html-файла в Интернете

#javascript #html

#javascript #HTML

Вопрос:

Я хочу написать html-страницу (используя все необходимое), которая возьмет элемент с определенной html-страницы и поместит его на мою страницу.

Например: В URL www.something.com найденный HTML-файл является: <p> myName </p>

Я хочу, чтобы моя страница просто брала то, что находится в теге p, и помещала это на мою страницу.

Возможно ли это?

Комментарии:

1. я предполагаю, что вы просто хотите получить содержимое веб-страницы, используя какой-нибудь серверный язык, а затем извлечь тег <p>, чтобы поместить его на свою веб-страницу. так ли это?

2. Я действительно пытаюсь получить html из другого домена и внедрить его на свою страницу. Помешанный на кодировании тоже прав. Возможно ли это только с помощью серверных сценариев?

3. Остерегайтесь XSS -атак! Более того, JavaScript обычно не используется в качестве языка на стороне сервера. Какое программное обеспечение веб-сервера установлено на вашем сервере?

4. @Marcel, JavaScript, безусловно, используется в качестве языка на стороне сервера: ASP и Node.js вот два примера.

5. @Juan: я знал о Node.js но поддерживает ли ASP JS?

Ответ №1:

Вы не сможете сделать это на стороне клиента из-за той же политики происхождения. Это не просто проблема безопасности, это означает, что браузеры просто не разрешают межсайтовый обмен данными на JS.

Комментарии:

1. Это возможно, но не без совместной работы обоих сайтов для обмена информацией (например, с window.postMessage)

Ответ №2:

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

 document.getElementById('result').innerHTML = document.getElementById('source').innerHTML;
  

Комментарии:

1. Я хочу сделать что-то вроде этого, но вместо документа в правой части ‘=’ я бы хотел, чтобы это был URL.

2. ах да, для этого вам придется использовать что-то на стороне сервера (php, C #, ruby, python и т.д.), существуют проблемы безопасности при доступе к данным из разных источников через JavaScript (например, с помощью iframe для ajax). Получив содержимое файла, вы можете использовать серверное регулярное выражение для выбора интересующей вас информации.

3. Хорошо, я понимаю, что с этим связаны проблемы безопасности в Java Script. Однако я никогда не буду использовать его на реальной веб-странице, мне это нужно только для проверки чего-либо. Возможно ли вообще сделать это с помощью JavaScript?

4. Нет, это невозможно без совместной работы обоих сайтов для обмена информацией (например, с window.postMessage)

Ответ №3:

Если вы хотите сделать это с помощью PHP, есть отличная библиотека, которая позволяет вам получать содержимое внешнего сайта и просматривать DOM с помощью CSS-селектора точно так же, как jQuery.

http://simplehtmldom.sourceforge.net/

Ответ №4:

Если все, что вы хотите сделать, это очистить страницы из вашего собственного браузера, вам следует просто запустить свой скрипт из букмарклета или из firebug / консоли разработчика.