(onchange)
| 762 | } |
| 763 | |
| 764 | function watchBodyChange(onchange) { |
| 765 | let timeout; |
| 766 | let observer = new MutationObserver(() => { |
| 767 | if (!timeout) { |
| 768 | timeout = setTimeout(() => { |
| 769 | timeout = null; |
| 770 | onchange(); |
| 771 | }, 200); |
| 772 | } |
| 773 | }); |
| 774 | observer.observe(document.documentElement, { |
| 775 | childList: true, |
| 776 | subtree: true, |
| 777 | attributes: true, |
| 778 | characterData: true, |
| 779 | }); |
| 780 | } |
| 781 | |
| 782 | function getAllTextNodes(parent) { |
| 783 | var re = []; |