IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Как посмотреть рез-т выполнения JavaScript (http://www.imho.ws/showthread.php?t=80710)

Alex_by 28.02.2005 16:17

Как посмотреть рез-т выполнения JavaScript
 
Есть js-файл, который формирует DHTML через document.write. Как можно посмотреть (и можно ли вообще) результат его работы (не в браузере, а полученный html-код) ?

Ghost 28.02.2005 16:36

Alex_by
Подключи скрипт к HTML-странице с формой и тексовым полем (TEXTAREA). Создай в скрипте глобальную строковую переменную
Код:

var s = new String();
запиши перед выполнением скрипта в нее пустую строку
Код:

s = '';
document.write(...) замени на
Код:

s += (...);
и в конце скрипта выполни вывод переменной s в текстовое поле
Код:

myTextarea.value = s;

RaZEr 28.02.2005 16:41

body.innerHTML

Ale 01.03.2005 02:51

Ghost
Textarea - это удобно, но он сожрет символьные примитивы (типа  ) если они будут в html-коде. Так надежнее: вместо document.write(...) соответственно
Код:

var outString = ""+(...)

for(var i=0;i<outString.length;i++) {document.write("<b>"+outString.charAt(i)+"</b>")}


Alex_by 01.03.2005 10:05

Всем спасибо за проявленный интерес. Сейчас буду изучать.
Сразу могу сказать, что body.innerHTML во-первых неудобно смотреть,а вот-вторых текст искажается браузером. Насчёт вывода в переменную надо подумать.
Вообще проблема заключается в поиске ошибки в полученном html. И я сначала думал подсунуть полученный код какому-нибудь валидатору.

Hubbitus 01.03.2005 16:29

При отладке локально, в винде и ИЕ, можно записать вместо document.write(...) все тоже самое в текстовый файл и изучать уже, никаких искажений точно быть не может, да и валидатору скормить просто без дополнительныз манипуляций...

TRiPLE 02.03.2005 14:05

А нажатие на "view source" в меню под правой кнопкой не подходит? Оттуда же и сохранить можно в любой файл. Или просто сохранить страницу через меню "файл".

RaZEr 02.03.2005 14:08

Цитата:

А нажатие на "view source" в меню под правой кнопкой не подходит
Т.е. ты исходишь из предположения, что мы все не вкурсе этой фичи? :biggrin:

Alex_by 02.03.2005 15:51

В общем так. Взял за лучшее использовать переменную, в которую пишу параллельно с document.write. А потом в textarea, из которого через буфер обмена валидатору. Отдельное спасибо Ghost.
Как это я сам сразу не догадался так сделать, видно в другую сторону мозги думали :)

TRiPLE 02.03.2005 16:46

Цитата:

RaZEr:
Т.е. ты исходишь из предположения, что мы все не вкурсе этой фичи?
Просто, видимо, не хватает воображения, чтобы представить ситуацию, в которой это не будет подходящим решением. Может я не понял суть проблемы? Хотя, уже не важно, раз человек сделал все.

Хотя нет, наврал. Если проверять кучу разных результатов, то проще, конечно писать такой "лог". А вот один результат не стоит лишних усилий.

Ghost 02.03.2005 16:56

TRiPLE
А ты попробуй загрузить в браузер вот такой простой код и посмотреть потом источник :)
Код HTML:

<HTML>
<HEAD>
<TITLE>asdfgh</TITLE>
</HEAD>
<BODY>
qwerty<BR>
<SCRIPT TYPE="text/javascript">
  document.write(document.title + "<BR>");
</SCRIPT>
zxcvbn
</BODY>
</HTML>

JS на лету изменяет текст HTML-страницы, при этом просмотреть, что именно и как изменилось в коде через команду просмотра источника ты не можешь. Яркий пример - мой давнишний эксперимент: _http://impm-ghost.narod.ru ;)


Часовой пояс GMT +4, время: 05:27.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.