xjsnavigator.java

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

JAVA
121
字号
/****************************************************************
*              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.*;

import org.mozilla.javascript.*;

import xbrowser.XProjectConstants;

public class XJSNavigator extends ScriptableObject {

    public XJSNavigator() throws Exception {
        defineSelf();
    }

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

    public void  defineSelf() throws Exception {
       defineFunctionProperties( new String[]{ "javaEnabled", "taintEnabled"}, getClass(), DONTENUM);

       defineProperty( "appCodeName", getClass(), READONLY);
       defineProperty( "appVersion", getClass(), READONLY);
       defineProperty( "appMinorVersion", getClass(), READONLY);
       defineProperty( "appName", getClass(), READONLY);
       defineProperty( "browserLanguage", getClass(), READONLY);
       defineProperty( "cookieEnabled", getClass(), READONLY);
       defineProperty( "cpuClass", getClass(), READONLY);
       defineProperty( "onLine", getClass(), READONLY);
       defineProperty( "platform", getClass(), READONLY);
       defineProperty( "plugins", getClass(), READONLY);
       defineProperty( "mimeTypes", getClass(), READONLY);
       defineProperty( "systemLanguage", getClass(), READONLY);
       defineProperty( "userAgent", getClass(), READONLY);
       defineProperty( "userLanguage", getClass(), READONLY);
       defineProperty( "userProfile", getClass(), READONLY);
    }

    // Properties
    public String getAppCodeName() {
        return XProjectConstants.PRODUCT_NAME;
    }

    public String getAppVersion() {
        return XProjectConstants.PRODUCT_VERSION;
    }

    public String getAppMinorVersion() {
        return XProjectConstants.PRODUCT_VERSION.substring( 2);
    }

    public String getAppName() {
        return XProjectConstants.PRODUCT_NAME;
    }

    public String getBrowserLanguage() {
        return Locale.getDefault().getLanguage();
    }

    public Boolean getCookieEnabled() {
        return Boolean.TRUE;
    }

    public String getCpuClass() {
        return System.getProperty( "os.arch");
    }

    public Boolean getOnLine() {
        return Boolean.TRUE;
    }

    public String getPlatform() {
        return System.getProperty( "os.name");
    }

    public String getSystemLanguage() {
        return Locale.getDefault().getDisplayLanguage();
    }

    public String getUserAgent() {
        return XProjectConstants.PRODUCT_NAME;
    }

    public String getUserLanguage() {
        return getBrowserLanguage();
    }

    public String getUserProfile() { // XXX yet!
        return System.getProperty( "user.home");
    }

    public Object getPlugins() {
	    return empty;
    }

    public Object getMimeTypes() {
	    return empty;
	}

    public Boolean javaEnabled() {
        return Boolean.TRUE;
    }

    public Boolean taintEnabled() {
        return Boolean.FALSE;
    }

// Attributes:
    private XHTMLCollection empty = new XHTMLCollection();
}

⌨️ 快捷键说明

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