diff options
author | hogelog | 2009-05-13 15:08:59 +0000 |
---|---|---|
committer | hogelog | 2009-05-13 15:08:59 +0000 |
commit | b1e6d5bc8f464c3e8126fd1bc75c963a34ecface (patch) | |
tree | c36351b54501f11a21f4df967e42cca1dc4914ef | |
parent | 29438b598c22e408e1cc1f16f1869702cd9ffbf3 (diff) | |
download | vimperator-plugins-b1e6d5bc8f464c3e8126fd1bc75c963a34ecface.tar.bz2 |
* almost fix insertMarkers conflict problem
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@33287 d0d07461-0603-4401-acd4-de1884942a52
-rw-r--r-- | marker_reader.js | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/marker_reader.js b/marker_reader.js index 275a14a..559269b 100644 --- a/marker_reader.js +++ b/marker_reader.js @@ -10,13 +10,13 @@ var PLUGIN_INFO = <name>{NAME}</name> <description>marker PageDown/PageUp.</description> <author mail="konbu.komuro@gmail.com" homepage="http://d.hatena.ne.jp/hogelog/">hogelog</author> - <version>0.0.11</version> + <version>0.0.12</version> <license>GPL</license> <minVersion>2.1pre</minVersion> <maxVersion>2.1pre</maxVersion> <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/marker_reader.js</updateURL> <detail><![CDATA[ - + == OPTION == >|| let g:marker_reader_scroll_ratio = "0.7" @@ -38,6 +38,11 @@ EOM ||< prevent PageLoad insert markers action on these pages; +>|| +let g:marker_reader_mapping = "J,K" +||< +adds mapping J = mnext, K = mprev. + ]]></detail> </VimperatorPlugin>; //}}} @@ -79,8 +84,12 @@ var reader = { -moz-border-radius: 5px; } ]]></style>, + // insertMarkers have to act synchronized function insertMarkers: function(doc) { + if (doc.markers) return false; + doc.markers = []; + let win = doc.defaultView; if (win.scrollMaxY == 0) return false; @@ -95,7 +104,6 @@ var reader = { let scroll = win.innerHeight * scroll_ratio; let count = Math.ceil(win.scrollMaxY / scroll); - let markers = []; for (let pageNum=1;pageNum<=count+1;++pageNum) { let p = doc.createElementNS(HTML_NAMESPACE, "p"); @@ -111,19 +119,20 @@ var reader = { p.style.left = "0px"; p.style.top = Math.ceil((pageNum-1)*scroll)+"px"; doc.body.appendChild(p); - markers.push(p); + doc.markers.push(p); } - return doc.markers = markers; + return doc.markers; }, + // removeMarkers have to act synchronized function removeMarkers: function(doc) { - let markers = doc.markers; - if (!markers) return false; - for (let i=0,len=markers.length;i<len;++i) + if (!doc.markers) return false; + doc.markers = null; + + for (let i=0,len=doc.markers.length;i<len;++i) { - doc.body.removeChild(markers[i]); + doc.body.removeChild(doc.markers[i]); } - doc.markers = null; return true; }, currentPage: function(doc) |