|
|
|
@ -148,8 +148,8 @@ Readability.prototype = {
|
|
|
|
|
*
|
|
|
|
|
* If function is not passed, removes all the nodes in node list.
|
|
|
|
|
*
|
|
|
|
|
* @param NodeList nodeList The no
|
|
|
|
|
* @param Function filterFn
|
|
|
|
|
* @param NodeList nodeList The nodes to operate on
|
|
|
|
|
* @param Function filterFn the function to use as a filter
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
_removeNodes: function(nodeList, filterFn) {
|
|
|
|
@ -164,6 +164,20 @@ Readability.prototype = {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Iterates over a NodeList, and calls _setNodeTag for each node.
|
|
|
|
|
*
|
|
|
|
|
* @param NodeList nodeList The nodes to operate on
|
|
|
|
|
* @param String newTagName the new tag name to use
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
_replaceNodeTags: function(nodeList, newTagName) {
|
|
|
|
|
for (var i = nodeList.length - 1; i >= 0; i--) {
|
|
|
|
|
var node = nodeList[i];
|
|
|
|
|
this._setNodeTag(node, newTagName);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Iterate over a NodeList, which doesn't natively fully implement the Array
|
|
|
|
|
* interface.
|
|
|
|
@ -173,10 +187,9 @@ Readability.prototype = {
|
|
|
|
|
*
|
|
|
|
|
* @param NodeList nodeList The NodeList.
|
|
|
|
|
* @param Function fn The iterate function.
|
|
|
|
|
* @param Boolean backward Whether to use backward iteration.
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
_forEachNode: function(nodeList, fn, backward) {
|
|
|
|
|
_forEachNode: function(nodeList, fn) {
|
|
|
|
|
Array.prototype.forEach.call(nodeList, fn, this);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@ -355,9 +368,7 @@ Readability.prototype = {
|
|
|
|
|
this._replaceBrs(doc.body);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this._forEachNode(doc.getElementsByTagName("font"), function(fontNode) {
|
|
|
|
|
this._setNodeTag(fontNode, "SPAN");
|
|
|
|
|
});
|
|
|
|
|
this._replaceNodeTags(doc.getElementsByTagName("font"), "SPAN");
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|