diff options
author | drry | 2008-04-12 16:01:01 +0000 |
---|---|---|
committer | drry | 2008-04-12 16:01:01 +0000 |
commit | a8b657e33197e25a6a15c3b68e910110f05ae4ca (patch) | |
tree | 21edcd8a8dc837b7c7125499d47dc1ecaf5451cb /hatenaStar.js | |
parent | 19fd0c38696187e7a63680af716592eb4f0e613f (diff) | |
download | vimperator-plugins-a8b657e33197e25a6a15c3b68e910110f05ae4ca.tar.bz2 |
lang/javascript/vimperator-plugins/trunk/hatenaStar.js:
* XPath を慣用句で無駄に堅牢化しました。
* ほか。
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@9365 d0d07461-0603-4401-acd4-de1884942a52
Diffstat (limited to 'hatenaStar.js')
-rw-r--r-- | hatenaStar.js | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/hatenaStar.js b/hatenaStar.js index 0ec8057..e1d74d8 100644 --- a/hatenaStar.js +++ b/hatenaStar.js @@ -1,15 +1,15 @@ /** - * For vimperator 0.6.0 + * For Vimperator 0.6.0 * @author mattn mattn.jp@gmail.com */ (function(){ -liberator.commands.addUserCommand(['hatenastar','hatenas'], 'add hatena star', +liberator.commands.addUserCommand(['hatenastar', 'hatenas'], 'add Hatena Star', function (arg, special) { try { - var result = liberator.buffer.evaluateXPath('.//img[@class="hatena-star-add-button"]'); - for (var i = 0; i < result.snapshotLength; i++){ + var result = liberator.buffer.evaluateXPath('.//img[contains(concat(" ", normalize-space(@class), " "), " hatena-star-add-button ")]'); + for (var i = 0, l = result.snapshotLength; i < l; i++) { if (arg == '' || arg == 'all' || arg == (i+1)) { var s = result.snapshotItem(i); var e = document.createEvent('MouseEvents'); @@ -17,18 +17,18 @@ liberator.commands.addUserCommand(['hatenastar','hatenas'], 'add hatena star', s.dispatchEvent(e); } } - } catch (e) { liberator.echoerr('hatenastar: ' + e); } + } catch (e) { liberator.echoerr('hatenaStar: ' + e); } } ); -liberator.mappings.addUserMap([liberator.modes.NORMAL], [',?s'], 'add hatena star', - function(count){ +liberator.mappings.addUserMap([liberator.modes.NORMAL], [',?s'], 'add Hatena Star', + function (count) { try { - for (var n = 0; n < count; n++) liberator.commands.get('hatenastar').execute("all", false, count); - } catch (e) { liberator.echoerr('hatenastar: ' + e); } + for (var n = 0; n++ < count; liberator.commands.get('hatenastar').execute("all", false, count)); + } catch (e) { liberator.echoerr('hatenaStar: ' + e); } }, { noremap: true, - flags: liberator.Mappings.flags.COUNT + flags: liberator.Mappings.flags.COUNT } ); |