Browse Source

Edit html parser which removes scripts

pull/36/head
Artur Arseniev 10 years ago
parent
commit
0bd8e7a13d
  1. 8
      src/parser/model/ParserHtml.js
  2. 7
      test/specs/parser/model/ParserHtml.js

8
src/parser/model/ParserHtml.js

@ -157,7 +157,13 @@ define(function(require) {
parse: function(str){
var el = document.createElement('div');
el.innerHTML = str;
var nodes = el.childNodes;
var scripts = el.querySelectorAll('script');
var i = scripts.length;
// Remove all scripts
while (i--)
scripts[i].parentNode.removeChild(scripts[i]);
var result = this.parseNode(el);
if(result.length == 1)

7
test/specs/parser/model/ParserHtml.js

@ -214,6 +214,13 @@ define([path + 'model/ParserHtml',],
obj.parse(str).should.deep.equal(result);
});
it('Remove script tags', function() {
var str = '<div><script>var test;</script></div><div></div><script>var test2;</script>';
var result = [{ tagName: 'div'},{ tagName: 'div'}];
console.log(obj.parse(str));
obj.parse(str).should.deep.equal(result);
});
});
}

Loading…
Cancel
Save