9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| /*
Editor for HTML page (Thunderbird or Iframe)
*/
class HTMLPageEditor {
constructor (xDocument, bCheckSignature=false) {
this.xDocument = xDocument;
this.xRootNode = xDocument.rootElement;
this.lNode = [];
this.bCheckSignature = bCheckSignature;
this._lParsableNodes = ["P", "LI", "H1", "H2", "H3", "H4", "H5"];
this._lRootNodes = ["DIV", "UL", "OL"];
}
* _getParsableNodes () {
// recursive function
try {
for (let xNode of this.xRootNode.childNodes) {
if (xNode.className !== "moz-cite-prefix" && xNode.tagName !== "BLOCKQUOTE"
&& (xNode.nodeType == Node.TEXT_NODE || (xNode.nodeType == Node.ELEMENT_NODE && !xNode.textContent.startsWith(">")))
&& xNode.textContent !== "") {
if (xNode.tagName === undefined) {
if (!this.bCheckSignature && xNode.textContent.startsWith("-- ")) {
break;
}
|
|
>
>
|
|
| 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| /*
Editor for HTML page (Thunderbird or Iframe)
*/
class HTMLPageEditor {
constructor (xDocument, bCheckSignature=false) {
this.xDocument = xDocument;
this.xRootNode = xDocument.body;
//console.log(xDocument.body);
//console.log(xDocument.body.innerHTML);
this.lNode = [];
this.bCheckSignature = bCheckSignature;
this._lParsableNodes = ["P", "LI", "H1", "H2", "H3", "H4", "H5"];
this._lRootNodes = ["DIV", "UL", "OL"];
}
* _getParsableNodes (xRootNode) {
// recursive function
try {
for (let xNode of xRootNode.childNodes) {
if (xNode.className !== "moz-cite-prefix" && xNode.tagName !== "BLOCKQUOTE"
&& (xNode.nodeType == Node.TEXT_NODE || (xNode.nodeType == Node.ELEMENT_NODE && !xNode.textContent.startsWith(">")))
&& xNode.textContent !== "") {
if (xNode.tagName === undefined) {
if (!this.bCheckSignature && xNode.textContent.startsWith("-- ")) {
break;
}
|
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| showError(e);
}
}
* getParagraphs () {
try {
let i = 0;
for (let xNode of this._getParsableNodes()) {
this.lNode.push(xNode);
yield [i, xNode.textContent];
i += 1;
}
}
catch (e) {
showError(e);
|
|
| 48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| showError(e);
}
}
* getParagraphs () {
try {
let i = 0;
for (let xNode of this._getParsableNodes(this.xRootNode)) {
this.lNode.push(xNode);
yield [i, xNode.textContent];
i += 1;
}
}
catch (e) {
showError(e);
|