Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/144: Рейтинг темы: голосов - 144, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 5

Как получить html-код страницы?

29.07.2011, 15:25. Показов 30128. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как получить html-код страницы методами js и потом его использовать в личных целях
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.07.2011, 15:25
Ответы с готовыми решениями:

Как получить код html-страницы?
Есть запрос к серверу, который возвращает через браузер Google Chrome экранную форму ответа - страницу, с кодом html. Как обратиться к...

Как получить html код страницы расположенной на другом домене и записать его в переменную?
Как получить html-код страницы расположенной на другом домене и записать его в переменную?

Как сохранить html-код внешней страницы
Люди знающие помогите плз. Есть страница с тэгом <STRONG>form.</STRONG> В форме несколько полей (<STRONG>input</STRONG>),...

16
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.07.2011, 15:52
JS не работает с файлами, Тут ajax нужен
1
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 5
29.07.2011, 16:21  [ТС]
и даже нельзя отправить запрос серверу и получить от него ответ, в котором содержится поток с html-кодом страницы, которая будет загружена?
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.07.2011, 16:22
Ну через php конечно можно.
0
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 5
29.07.2011, 16:29  [ТС]
php - не выход, скрипт должен исполняться на стороне клиента

ну или как сделать с помощью AJAX?
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.07.2011, 16:44
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function file_get_contents( url ) { // Reads entire file into a string
    // 
    // +   original by: Legaev Andrey
    // %        note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain.
 
    var req = null;
    try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
        try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
            try { req = new XMLHttpRequest(); } catch(e) {}
        }
    }
    if (req == null) throw new Error('XMLHttpRequest not supported');
 
    req.open("GET", url, false);
    req.send(null);
 
    return req.responseText;
}
0
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 5
29.07.2011, 16:52  [ТС]
это плохо:
Цитата Сообщение от suharik Посмотреть сообщение
This function uses XmlHttpRequest and cannot retrieve resource from different domain.
то же самое и я использую в данный момент, но это решение в пределах одного домена:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function getXmlHttp(){
    var xmlhttp;
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}
 
function getReq(){
    var req = new XMLHttpRequest();
    req.open('GET', '../joomla/index.php', false); 
    req.send();
    if(req.status == 200) {
        document.write(req.responseText);
    }
}
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.07.2011, 16:57
Ну если ты разбираешся в аяксе, тогда логика такая.
Делаеш php фаил в котором используеш функцию file () ; //например

аяксом обращаешся к своему пхп файлу, и тебе возвращается весь исходный код. Можеш использовать JSON и получиш масив каждой строки исходного кода.
0
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 5
29.07.2011, 17:14  [ТС]
php - это просто чудесно, но я не могу использовать его. это расширение для хрома и php не получится использовать если не хостить куда-то

буду искать другие решения
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
29.07.2011, 17:19
Еще раз скажу, JS не работает с файлами. Автономно у тебя не получится. Если что нароеш, скинь сюда, мож там каие нить новые технологии и тд))
0
Просто любитель
 Аватар для GuardCat
626 / 464 / 120
Регистрация: 20.01.2011
Сообщений: 865
Записей в блоге: 2
03.08.2011, 08:50
Если речь идет о том, что вы выходите на страницу, код которой хотите получить программно, используя букмарклет или расширение, то проще всего использовать
JavaScript
1
document.body.innerHTML
Минус в том, что вы получаете не весь код страницы, а только тот, который содержится между тегами
HTML5
1
<body></body>
0
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 3
06.08.2011, 20:36
Лично я, да и во многих расширениях для хрома которые я разбирал, код страницы брался при помощи jquery. Почитайте на офф сайта документацию по функции .get() и .post() . А что бы вы могли обращаться к другому сайту из расширения надо запросить разрешение в файле manifest.json, если мне не изменяет память, код должен выглядеть примерно так:
В manifest.json добавить такую строку в середину файла, указав нужные вам домены:
Code
1
   "permissions": [ "tabs", "http://*/*", "https://*/*" ],
А для получения кода страницы в теге script пишем:
JavaScript
1
2
3
   $.get("/*тут домен*/", function(data){
     //тут свои код для обработки когда, сам код в переменной data
   });
1
231 / 12 / 3
Регистрация: 28.12.2012
Сообщений: 192
24.12.2013, 16:10
никак не получится это сделать только средствами JS. Все фреймворки таки же используют базовые возможности JS а именно xmlhttprequest на которое действует ограничение по крос доменам. В любом случае сделать запрос на чужой домен только средствами js на стороне клиента не получится
0
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 4
04.07.2018, 14:57
Вот код, который отображает весь код(только теги <html> и </html> не отображаются):
JavaScript
1
2
3
4
5
6
7
function all_page_code() {
    window.onload = function(){
        alert(document.documentElement.innerHTML);
     };
}
 
all_page_code();
Только должен сказать, что страницы будут долго загружаться, так как браузер получает код и тормозит с отображением DOM.
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
04.07.2018, 15:43
СергейЯковлев, GuardCat, если прям совсем весь -
JavaScript
1
document.documentElement.outerHTML
Но опять же, только для той страницы, на которой открыта вкладка. Либо пыха.
0
249 / 162 / 68
Регистрация: 10.12.2017
Сообщений: 558
04.07.2018, 15:47
До Сережи, последний пост в 13 году... да и вопрос был не про это
1
04.07.2018, 16:01

Не по теме:

Evgen1337, Пхах ))) точно! на даты то я не посмотрел :D ахахахахха

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2018, 16:01
Помогаю со студенческими работами здесь

Как получить исходный код страницы после ajax?
здравствуйте! например facebook подгружает спмсок друзей по мере прокрутки выполняя ajax. если сохранить страницу или посмотреть ее...

Как отпарсить следующий код со страницы и получить название треков?
как отпарсить следующий код со страницы и получить название треков: function getcurentsong8010() { var oXmlHttp =...

Добавление HTML в код страницы
Приветствую всех! Задача такая: нужно к существующему коду добавить пару строк, но так, чтобы не пропадала информация, введённая...

Html код страницы в java
Есть страница у сайта site.ru/page/ . Нужно эту страницу внедрить в java файл (типа как инклуд у php), чтобы этот java файл я смог вызывать...

Получить содержимое HTML-страницы
Добрый день, уважаемые участники сообщества! Есть HTML-код нескольких страниц. Мне не нужна разметка, я хочу получить текст (контент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru