diff options
Diffstat (limited to 'appendAnchor.js')
-rw-r--r-- | appendAnchor.js | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/appendAnchor.js b/appendAnchor.js index ddb073c..9dc410d 100644 --- a/appendAnchor.js +++ b/appendAnchor.js @@ -13,21 +13,21 @@ function(arg, special) { var doc = window.content.document; var nodes = liberator.buffer.evaluateXPath( - '/descendant::*[not(contains(" TITLE STYLE SCRIPT TEXTAREA XMP A ", concat(" ", local-name(), " ")))]/child::text()' + '/descendant::*[not(contains(" TITLE STYLE SCRIPT TEXTAREA XMP A ", concat(" ", translate(local-name(), "aceilmprstxy", "ACEILMPRSTXY"), " ")))]/child::text()' ); - var regex = new RegExp("h?(ttps?):/+([a-zA-Z0-9][-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+[-_~*(a-zA-Z0-9;/?@&=+$%#])"); - + var regex = new RegExp("h?(ttps?):/+([a-zA-Z0-9][-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+[-_~*(a-zA-Z0-9;/?@&=+$%#])"); + var range = doc.createRange(); var last; var href; - for (var i = 0; i < nodes.snapshotLength; i++) { - var node = nodes.snapshotItem(i); + for (let i = 0, l = nodes.snapshotLength; i < l; i++) { + let node = nodes.snapshotItem(i); range.selectNode(node); while (node && (last = range.toString().search(regex)) > -1) { range.setStart(node, last); range.setEnd(node, last + RegExp.lastMatch.length); href = 'h' + RegExp.$1 + '://' + RegExp.$2; - var anchor = doc.createElement('a'); + let anchor = doc.createElement('a'); range.insertNode(anchor); anchor.setAttribute('href', href); range.surroundContents(anchor); |