Changeset 32618 for lang/javascript

Show
Ignore:
Timestamp:
04/19/09 10:16:52 (5 years ago)
Author:
hogelog
Message:
  • fix bug: window infinite loop if (win.innerHeight == 0).
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/marker_reader.js

    r32607 r32618  
    1111    <description>marker PageDown/PageUp.</description> 
    1212    <author mail="konbu.komuro@gmail.com" homepage="http://d.hatena.ne.jp/hogelog/">hogelog</author> 
    13     <version>0.0.8</version> 
     13    <version>0.0.10</version> 
    1414    <license>GPL</license> 
    1515    <minVersion>2.1pre</minVersion> 
     
    8585 
    8686        if (win.scrollMaxY == 0) return false; 
     87        if (win.innerHeight == 0) return false; 
    8788        if (!win.scrollbars.visible) return false; 
    8889 
     
    9596        let count = Math.ceil(win.scrollMaxY / scroll); 
    9697 
    97         let insertPoint = doc.body.firstChild; 
    9898        let markers = []; 
    9999        for (let pageNum=1;pageNum<=count+1;++pageNum) 
     
    111111            p.style.left = "0px"; 
    112112            p.style.top = Math.ceil((pageNum-1)*scroll)+"px"; 
    113             doc.body.insertBefore(p, insertPoint); 
    114             //doc.body.appendChild(p); 
     113            doc.body.appendChild(p); 
    115114            markers.push(p); 
    116115        } 
     
    136135        let markers = doc.markers; 
    137136        if(!markers) markers = reader.insertMarkers(doc); 
     137        if(!markers && markers.length==0) return 1.0; 
    138138 
    139139        let curPos = win.scrollY; 
     
    166166        function navi(win, page) 
    167167        { 
    168             let xpath = '//*[@id="vimperator-marker_reader-' + page + '"]'; 
    169             let [elem] = $U.getNodesFromXPath(xpath, doc); 
     168            let elem = doc.getElementById("vimperator-marker_reader-" + page); 
    170169            if (elem) { 
    171170                win.scrollTo(0, elem.offsetTop);