aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordrry2008-09-05 16:36:57 +0000
committerdrry2008-09-05 16:36:57 +0000
commitded669d5a613eedc46c2e1db94f6179eb1cf071a (patch)
tree9704cb26b4c2a388b883c6ff70e5ee19850c3f7b
parentf4d47f6d977d3ab64187a9e7788711cad2971dcf (diff)
downloadvimperator-plugins-ded669d5a613eedc46c2e1db94f6179eb1cf071a.tar.bz2
* XHTML に対応しました。
* ほか。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@18905 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r--appendAnchor.js12
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);