From af27552c72a7870a151ffe2ea58d7d488f609982 Mon Sep 17 00:00:00 2001
From: hogelog
Date: Sun, 12 Apr 2009 12:03:35 +0000
Subject: * fix PageLoad action. * fix some page's strange behavior of mnext,
mprev.
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@32311 d0d07461-0603-4401-acd4-de1884942a52
---
marker_reader.js | 41 +++++++++++++++++++++++++----------------
1 file changed, 25 insertions(+), 16 deletions(-)
(limited to 'marker_reader.js')
diff --git a/marker_reader.js b/marker_reader.js
index 6d13726..020d0d6 100644
--- a/marker_reader.js
+++ b/marker_reader.js
@@ -10,7 +10,7 @@ var PLUGIN_INFO =
{NAME}
marker PageDown/PageUp.
hogelog
- 0.0.2
+ 0.0.3
GPL
2.1pre
2.1pre
@@ -39,10 +39,7 @@ const HTML_NAMESPACE = "http://www.w3.org/1999/xhtml";
var libly = liberator.plugins.libly;
var $U = libly.$U;
-
-if (liberator.globalVariables.marker_reader_onload !== 0) {
- liberator.execute(":autocmd PageLoad .* :minsert", null, true);
-}
+var logger = $U.getLogger("marker");
var reader = {
pageNaviCss:
@@ -65,7 +62,7 @@ var reader = {
let win = doc.defaultView;
doc.naviMarker = true;
- let css = $U.xmlToDom(pageNaviCss, doc);
+ let css = $U.xmlToDom(reader.pageNaviCss, doc);
let node = doc.importNode(css, true);
doc.body.insertBefore(node, doc.body.firstChild);
@@ -84,10 +81,11 @@ var reader = {
p.className = "vimperator-marker_reader-marker";
p.style.left = 0;
- p.style.top = (pageNum-1)*scroll;
+ p.style.top = Math.ceil((pageNum-1)*scroll);
p.style.zIndex = 1000;
doc.body.insertBefore(p, insertPoint);
//doc.body.appendChild(p);
+ markers.push(p);
}
return doc.markers = markers;
},
@@ -106,7 +104,7 @@ var reader = {
let markers = doc.markers;
let win = doc.defaultView;
- var curPos = win.scrollY;
+ let curPos = win.scrollY;
// top of page
if (curPos <= 0) return 1.0;
@@ -114,17 +112,18 @@ var reader = {
// bottom of page
if (curPos >= win.scrollMaxY) {
if (markers.length > 0) {
- let lastMarker = Math.round(parseFloat(markers[markers.length-1].style.top));
+ let lastMarker = markers[markers.length-1].offsetTop;
if (curPos <= lastMarker) return markers.length;
}
return markers.length + 0.5;
}
// return n.5 if between n and n+1
- var page = 1.0;
+ let page = 1.0;
for (let i=0,len=markers.length;i