Получения всего (HTML+DOCTYPE) содержания документа.

Бочонок

http://frontender.info
Получения всего (HTML+DOCTYPE) содержания документа.

Доброго времени суток.

Скажите есть ли какой то способ получить все содержимое загруженого html документа ?
До чего дошел пока сам:
PHP:
source = window.document.documentElement.innerHTML;
возвращает содержание первого дочернего елемента document.
Но этого явно недостаточно.
1. Я не получаю таким образом doctype.
А
PHP:
doctype=document.DocumentType;
возвращает undefined

2.А если пользователь вообще не применил тег <html> ? Фигня получится.

Помогите пожалуста !
Как мне получить полный текст загруженого html документа ? От и До. Все что получил браузер.

P.S. Если у кого то возник вопрос - для каких таких неблаговидных целей это мне понадобилось ? Обьясняю - я все еще работаю над индикатором валидности. И если получу полный текст страницы - можно будет проверять валидность любой страницы. В том числе на локальном компьютере или сгенерированой на основе переданных пользователем данных.

P.S.P.S. Очень надеюсь на вашу помощь.
 

ksnk

прохожий
doctype=document.DocumentType;

возвращает undefined

2.А если пользователь вообще не применил тег <html> ? Фигня получится.
imho для индикатора валидности вполне достаточно :) Парсинг до первой ошибки...

А почему этот индикатор нужно писать на JavaScript?
 

Бочонок

http://frontender.info
1. Обрабатывать будет все тот же w3c валидатор.
2. Коректный Парсинг не возможен, пока не известен doctype
3. Помоему скрипт НЕ ДОЛЖЕН ничего предполагать. Просто передать валидатору текст страницы. Так что указаный мной метод дважды не подходит. Он основан на предположении.
4. Нужно получить также количество errors, infos, marks которые возвращает валидаотр.
5. Зачем JS? Да все просто ! Как один из вариантов подключения бкдет предложен AJAX. А зачем нам такое горе ? А вот зачем:

а. мы получаем возможность отправиль на валидацию текст с локальной машины.
б. мы получаем возможность коректно проверять валидность страниц с множеством состояний. Тоесть таких, которые генерируются на основе данных отправленых пользователем. В другом случае - валидатор проверяет только первое состояние.
в. + такой режим подключения уменьшает нагрузку на сервер и его траффик
г. - такой режим подключения повышает нагрузку на клиент и увеличивает его траффик.

(так что думаю он будет оптимален для тестирования веб-сайта. А потом можно использовать стандартный грвафический или текстовый режим)

ЗЫ. Подскажите котто пожалуста !

-~{}~ 03.09.06 12:21:

правда я не уверен позволят ли настройки безопасности с помощью HTTP request подать HTTP запрос на сервер w3c. Сейчас читаю статьи. Но всегда можно найти обходной путь :)
 

ksnk

прохожий
Бочонок
А кто заинтересован в валидности страницы - сервер или клиент? :) imho серверу это должно быть более важно -вот пусть он и озаботится тем, чтобы иметь возможность каждую свою страницу перепослать валидатору. И делается это сервером imho существенно проще.
 

Бочонок

http://frontender.info
1. О нагрузке - смысл спорить то ?
Как распределять нагрузку между сервером и клиентом это весьма скользкая тема. В каждом проекте со своими особенностями - будет логично то или иное решение. И однозначного ответа тут нет. Или есть ?
2.
И делается это сервером imho существенно проще.
- как ?
Ты имеешь в виду буфферизацию вывода с помощью функций буфферизации вывода(ob_***) ?
Тогда для того что бы разработчик применил мой баннер ему придется достаточно згачительно менять свой php скрипт. А не просто плюхнуть в какое то одно место блок кода (хотя масштаб изменений конечно тоже величина относительная). Не хотелось бы.
3. если используется ob_ функции то в скриптах отменяется вывод с помощью flush. А иногда он весьма полезен.

Это конечно тоже вариант. И вариант неплохой. Спасибо.
Но всегда лучше когда у разработчика есть выбор.
Текстовый банер или графический.
Основная нагрузка на сервер или клиент.
Так что всетаки - существует ли возможность при помощи JS получить содержимое страницы ?
 
Сверху