diff --git a/src/parser/model/ParserHtml.js b/src/parser/model/ParserHtml.js
index 3d9563858..b2b4397aa 100644
--- a/src/parser/model/ParserHtml.js
+++ b/src/parser/model/ParserHtml.js
@@ -271,12 +271,13 @@ export default config => {
* @return {Object}
*/
parse(str, parserCss) {
- var config = (c.em && c.em.get('Config')) || {};
- var res = { html: '', css: '' };
- var el = document.createElement('div');
+ const { em } = c;
+ const config = (em && em.get('Config')) || {};
+ const res = { html: '', css: '' };
+ const el = document.createElement('div');
el.innerHTML = str;
- var scripts = el.querySelectorAll('script');
- var i = scripts.length;
+ const scripts = el.querySelectorAll('script');
+ let i = scripts.length;
// Remove all scripts
if (!config.allowScripts) {
@@ -285,9 +286,9 @@ export default config => {
// Detach style tags and parse them
if (parserCss) {
- var styleStr = '';
- var styles = el.querySelectorAll('style');
- var j = styles.length;
+ const styles = el.querySelectorAll('style');
+ let j = styles.length;
+ let styleStr = '';
while (j--) {
styleStr = styles[j].innerHTML + styleStr;
@@ -297,11 +298,9 @@ export default config => {
if (styleStr) res.css = parserCss.parse(styleStr);
}
- var result = this.parseNode(el);
-
- if (result.length == 1) result = result[0];
-
+ const result = this.parseNode(el);
res.html = result;
+ em && em.trigger('parse:html', { input: str, output: res });
return res;
}