aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhogelog2009-05-13 15:08:59 +0000
committerhogelog2009-05-13 15:08:59 +0000
commitb1e6d5bc8f464c3e8126fd1bc75c963a34ecface (patch)
treec36351b54501f11a21f4df967e42cca1dc4914ef
parent29438b598c22e408e1cc1f16f1869702cd9ffbf3 (diff)
downloadvimperator-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.js29
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)