xjshistory.java

来自「java写的浏览器」· Java 代码 · 共 70 行

JAVA
70
字号
/****************************************************************
*              XBrowser  -  eXtended web Browser                *
*                                                               *
*           Copyright (c) 2000-2001  Armond Avanes              *
*     Refer to ReadMe & License files for more information      *
*                                                               *
*                                                               *
*                 By: Uladzimir V. Kavalchuk                    *
*               Uladzimir_Kavalchuk@ep.minsk.by                 *
*               http://xbrowser.sourceforge.net/                *
*****************************************************************/
package xbrowser.renderer.custom.js;

import java.util.Iterator;

import org.mozilla.javascript.*;

import xbrowser.renderer.XRenderer;

public class XJSHistory extends ScriptableObject {

    public XJSHistory() throws Exception {
    }

    public XJSHistory( XRenderer r) throws Exception {
       renderer = r;
       defineFunctionProperties( new String[]{ "back", "forward", "go"}, getClass(), DONTENUM);
       defineProperty( "length", getClass(), READONLY);
    }

    public String getClassName() {
        return "XJSHistory";
    }

    // JavaScript visible
    /** Loads a previous URL from the History list. */
    public void back() {
        renderer.showPreviousPage();
    }

    /**   Loads the next URL from the History list. */
    public void forward() {
        renderer.showNextPage();
    }

    /**   Loads a URL from the History list. */
    public void go( int i) {
        renderer.showPageFromHistory( i, XRenderer.FORWARD_HISTORY);
    }

    /** Returns number of items in history. Inefficient. */
    public int getLength() {
        int count = 0;

        Iterator it = renderer.getForwardHistory();
        while( it.hasNext()) {
            it.next();
            count++;
        }
        it = renderer.getBackwardHistory();
        while( it.hasNext()) {
           it.next();
           count++;
        }
        return count;
    }

// Attributes:
    private XRenderer renderer;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?