open source
This commit is contained in:
@@ -0,0 +1,124 @@
|
||||
|
||||
interface NavigatorID {
|
||||
appName: string;
|
||||
appVersion: string;
|
||||
platform: string;
|
||||
product: string;
|
||||
productSub: string;
|
||||
userAgent: string;
|
||||
vendor: string;
|
||||
vendorSub: string;
|
||||
}
|
||||
|
||||
interface NavigatorOnLine {
|
||||
onLine: boolean;
|
||||
}
|
||||
|
||||
interface PositionError {
|
||||
code: number;
|
||||
message: string;
|
||||
toString(): string;
|
||||
PERMISSION_DENIED: number;
|
||||
POSITION_UNAVAILABLE: number;
|
||||
TIMEOUT: number;
|
||||
}
|
||||
|
||||
interface PositionCallback {
|
||||
(position: Position): void;
|
||||
}
|
||||
|
||||
interface PositionErrorCallback {
|
||||
(error: PositionError): void;
|
||||
}
|
||||
|
||||
interface Coordinates {
|
||||
accuracy: number;
|
||||
altitude: number;
|
||||
altitudeAccuracy: number;
|
||||
heading: number;
|
||||
latitude: number;
|
||||
longitude: number;
|
||||
speed: number;
|
||||
}
|
||||
|
||||
interface Position {
|
||||
coords: Coordinates;
|
||||
timestamp: number;
|
||||
}
|
||||
|
||||
interface PositionOptions {
|
||||
enableHighAccuracy?: boolean;
|
||||
timeout?: number;
|
||||
maximumAge?: number;
|
||||
}
|
||||
|
||||
interface Geolocation {
|
||||
clearWatch(watchId: number): void;
|
||||
getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void;
|
||||
watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number;
|
||||
}
|
||||
|
||||
interface NavigatorGeolocation {
|
||||
geolocation: Geolocation;
|
||||
}
|
||||
|
||||
class Navigator implements NavigatorID, NavigatorOnLine, NavigatorGeolocation {
|
||||
//NavigatorID
|
||||
get appName():string{ return 'Netscape';}
|
||||
get appVersion(): string{ return this.userAgent};
|
||||
get platform():string{return window.layabox.devinfo.os};
|
||||
product: string;
|
||||
productSub: string;
|
||||
get userAgent(): string{
|
||||
var os=window.layabox.devinfo.os;
|
||||
if(os=="ios")
|
||||
return "LayaBox(iPhone; CPU iPhone OS Mac OS X)";
|
||||
else if(os=="android")
|
||||
return "LayaBox Android";
|
||||
else
|
||||
return 'LayaBox/2.1';
|
||||
};
|
||||
vendor: string;
|
||||
vendorSub: string;
|
||||
get sv():number{
|
||||
var v:string=window.layabox.devinfo.osversion;
|
||||
var t:number=parseFloat(v);
|
||||
if(isNaN(t))
|
||||
{
|
||||
t=v.charCodeAt(0)-71;
|
||||
}
|
||||
return t;
|
||||
};
|
||||
//NavigatorOnLine
|
||||
onLine: boolean;
|
||||
//NavigatorGeolocation
|
||||
geolocation: Geolocation;
|
||||
|
||||
get appCodeName(): string{ return 'Mozilla'; }
|
||||
appMinorVersion: string;
|
||||
browserLanguage: string;
|
||||
connectionSpeed: number;
|
||||
cookieEnabled: boolean;
|
||||
cpuClass: string;
|
||||
get language(): string{ return 'zh-CN';};
|
||||
maxTouchPoints: number;
|
||||
msManipulationViewsEnabled: boolean;
|
||||
msMaxTouchPoints: number;
|
||||
msPointerEnabled: boolean;
|
||||
pointerEnabled: boolean;
|
||||
systemLanguage: string;
|
||||
get userLanguage(): string{return 'zh-CN';}
|
||||
webdriver: boolean;
|
||||
constructor(){
|
||||
}
|
||||
getGamepads(): Gamepad[]{
|
||||
return null;
|
||||
}
|
||||
javaEnabled(): boolean{return false;}
|
||||
vibrate(pattern: number | number[]): boolean{
|
||||
return false;
|
||||
}
|
||||
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void{
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user