diff options
author | anekos | 2010-01-24 08:38:03 +0000 |
---|---|---|
committer | anekos | 2010-01-24 08:38:03 +0000 |
commit | b9b50669540b6dc5762feae2c11e0c77c31cf24d (patch) | |
tree | 72a6fc648199912cb0741a8070bc3754f4a50ab9 | |
parent | ca58183d7c5ca3dedfd8224923e863fba34d9075 (diff) | |
download | vimperator-plugins-b9b50669540b6dc5762feae2c11e0c77c31cf24d.tar.bz2 |
LDR の変更に対応(?)
from:
http://d.hatena.ne.jp/mountain_dew/20100124/1264304665
id:mountain_dew Thanks!
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@36520 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r-- | subscldr.js | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/subscldr.js b/subscldr.js index e868d1b..7fcff99 100644 --- a/subscldr.js +++ b/subscldr.js @@ -20,7 +20,7 @@ var PLUGIN_INFO = <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/subscldr.js</updateURL> <author mail="snaka.gml@gmail.com" homepage="http://vimperator.g.hatena.ne.jp/snaka72/">snaka</author> <license>MIT style license</license> - <version>0.2</version> + <version>0.2.1</version> <detail><![CDATA[ == Subject == Adds subscriptions to livedoor Reader/Fastladder in place. @@ -195,11 +195,11 @@ liberator.plugins.subscldr = (function() { feedlinks: [] }; - $LXs('id("feed_candidates")/li', htmldoc).forEach( function(item) { - var feedlink = $LX('./a[@class="feedlink"]', item); - var title = $LX('./a[@class="subscribe_list"]', item); - var users = $LX('./span[@class="subscriber_count"]/a', item); - var yet = $LX('./input[@name="feedlink"]', item); + $LXs('id("feed_candidates")/xhtml:li', htmldoc).forEach( function(item) { + var feedlink = $LX('./xhtml:a[@class="feedlink"]', item); + var title = $LX('./xhtml:a[@class="subscribe_list"]', item); + var users = $LX('./xhtml:span[@class="subscriber_count"]/xhtml:a', item); + var yet = $LX('./xhtml:input[@name="feedlink"]', item); liberator.log("input:" + feedlink.href); subscribeInfo.feedlinks.push([feedlink.href, (yet != null), (title ? title.textContent : '' ) + ' / ' + (users ? users.textContent : '0 user')]); }); @@ -235,8 +235,27 @@ liberator.plugins.subscldr = (function() { } // For convenience - function $LXs(a,b) libly.$U.getNodesFromXPath(a,b); - function $LX(a,b) libly.$U.getFirstNodeFromXPath(a,b); + //function $LXs(a,b) libly.$U.getNodesFromXPath(a,b); + //function $LX(a,b) libly.$U.getFirstNodeFromXPath(a,b); + + function nsResolver(prefix) { + var ns = { 'xhtml': 'http://www.w3.org/1999/xhtml' }; + return ns[prefix] || null; + } + + function $LXs(a, b) { + var ret = []; + var res = (b.ownerDocument || b).evaluate(a, b, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0; i < res.snapshotLength; i++) { + ret.push(res.snapshotItem(i)); + } + return ret; + } + + function $LX(a, b) { + var res = (b.ownerDocument || b).evaluate(a, b, nsResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null); + return res.singleNodeValue || null; + } // }}} return PUBLICS; |