gecko-dev/dom/tests/js/DumpHTML.js

59 строки
1.5 KiB
JavaScript
Исходник Обычный вид История

/* -*- Mode: js; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2012-05-21 15:12:37 +04:00
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
1998-04-14 22:16:23 +04:00
1998-04-14 00:24:54 +04:00
//
// Dump the html content in html format
//
1998-04-14 22:16:23 +04:00
function html(node)
1998-04-14 00:24:54 +04:00
{
var type = node.nodeType;
if (type == Node.ELEMENT_NODE) {
1998-04-14 00:24:54 +04:00
// open tag
dump("<" + node.tagName)
1998-04-14 00:24:54 +04:00
// dump the attributes if any
attributes = node.attributes;
1998-04-14 00:24:54 +04:00
if (null != attributes) {
var countAttrs = attributes.length;
1998-04-14 00:24:54 +04:00
var index = 0
while(index < countAttrs) {
att = attributes[index];
1998-04-14 00:24:54 +04:00
if (null != att) {
dump(" " + att.value)
1998-04-14 00:24:54 +04:00
}
index++
}
}
// close tag
dump(">")
1998-04-14 00:24:54 +04:00
// recursively dump the children
if (node.hasChildNodes()) {
1998-04-14 00:24:54 +04:00
// get the children
var children = node.childNodes;
var length = children.length;
1998-04-14 00:24:54 +04:00
var count = 0;
while(count < length) {
child = children[count]
1998-04-14 22:16:23 +04:00
html(child)
1998-04-14 00:24:54 +04:00
count++
}
dump("</" + node.tagName + ">");
1998-04-14 00:24:54 +04:00
}
1998-04-14 00:24:54 +04:00
}
// if it's a piece of text just dump the text
else if (type == Node.TEXT_NODE) {
dump(node.data)
1998-04-14 00:24:54 +04:00
}
}
1998-04-14 22:16:23 +04:00
html(document.documentElement)
dump("\n")