diff --git a/.gitignore b/.gitignore index 72f9d48..cd47245 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,5 @@ server.js chromedriver.log *.baseline *.iml -.idea/ \ No newline at end of file +.idea/ +.DS_Store diff --git a/src/Parse.js b/src/Parse.js index bad6ab2..74951ac 100644 --- a/src/Parse.js +++ b/src/Parse.js @@ -1077,8 +1077,12 @@ _html2canvas.Parse = function (images, options) { function init() { var stack = renderElement(element, null); - Array.prototype.slice.call(element.children, 0).forEach(function(childElement) { - parseElement(childElement, stack); + _html2canvas.Util.Children(element).forEach(function(node) { + if (node.nodeType === 1) { + parseElement(node, stack); + } else if (node.nodeType === 3) { + renderText(element, node, stack); + } }); stack.backgroundColor = getCSS(document.documentElement, "backgroundColor"); diff --git a/tests/cases/child-textnodes.html b/tests/cases/child-textnodes.html new file mode 100644 index 0000000..ea5cafe --- /dev/null +++ b/tests/cases/child-textnodes.html @@ -0,0 +1,22 @@ + + + + Inline text in the top element + + + + + + + Some inline text followed by text in span followed by more inline text. +

Then a block level element.

+ Then more inline text. + +