From b1e6d5bc8f464c3e8126fd1bc75c963a34ecface Mon Sep 17 00:00:00 2001 From: hogelog Date: Wed, 13 May 2009 15:08:59 +0000 Subject: * almost fix insertMarkers conflict problem git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@33287 d0d07461-0603-4401-acd4-de1884942a52 --- marker_reader.js | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'marker_reader.js') 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} marker PageDown/PageUp. hogelog - 0.0.11 + 0.0.12 GPL 2.1pre 2.1pre http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/marker_reader.js || 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. + ]]> ; //}}} @@ -79,8 +84,12 @@ var reader = { -moz-border-radius: 5px; } ]]>, + // 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