html5-plus
Version:
html5 plus typescript DefinitelyTyped (alpha...)
239 lines (227 loc) • 6.41 kB
TypeScript
/**
* Typescript 声明文件
* Webview模块管理应用窗口界面,实现多窗口的逻辑控制管理操作。
* @author westsky
* @description Html 5+ plus.webview
*
*/
declare namespace plus.webview {
//直属成员
//获取当前窗口的WebviewObject对象
function currentWebview(): WebviewObject;
//创建新的Webview窗口
function create(
url: string,
id: string,
styles: WebviewStyles,
extra?: JSON
): WebviewObject;
//关闭Webview窗口
function close(
id_wvobj: String | WebviewObject | any,
aniClose?: AnimationTypeClose,
duration?: Number,
extras?: WebviewExtraOptions
): void;
/**
*查找指定标识的WebviewObject窗口
*/
function getWebviewById(id: string): WebviewObject;
/**
*获取屏幕所有可视的Webview窗口
*/
function getDisplayWebview(): Array<WebviewObject>;
/**
* 获取所有Webview窗口
*/
function all(): Array<WebviewObject>;
/**
* 显示Webview窗口
*/
function show(
id_wvobj: WebviewObject | string,
aniShow?: AnimationTypeClose,
duration?: number,
showedCB?: (() => void),
extras?: WebviewExtraOptions
): void;
/**
* 隐藏Webview窗口
*/
function hide(
id_wvobj: WebviewObject | string,
aniHide?: AnimationTypeClose,
duration?: number,
extras?: WebviewExtraOptions
);
/**
* 获取应用首页WebviewObject窗口对象
*/
function getLaunchWebview(): WebviewObject;
/**
* 获取应用第二个首页WebviewObject窗口对象
*/
function getSecondWebview(): WebviewObject;
/**
* 获取应用显示栈顶的WebviewObject窗口对象
*/
function getTopWebview(): WebviewObject;
/**
*
* @param url 打开窗口加载的HTML页面地址
* @param id 打开窗口的标识
* @param styles 创建Webview窗口的样式(如窗口宽、高、位置等信息)
* @param aniShow 显示Webview窗口的动画效果
* @param duration 显示Webview窗口动画的持续时间单位为ms,默认值为200ms(毫秒)。
* @param showedCB Webview窗口显示完成的回调函数
*/
function open(
url?: string,
id?: String,
styles?: WebviewStyles,
aniShow?: AnimationTypeShow,
duration?: Number,
showedCB?: SuccessCallback
): WebviewObject;
/**
*
* @param url 必须是网络地址(http/https),本地页面地址无需预载。
*/
function prefetchURL(url: string): void;
/**
*@param urls 需要预载的页面地址数组
*/
function prefetchURLs(urls: Array<string>): void;
/**
* @param id_wvobj 要显示Webview窗口id或窗口对象
* @param aniShow 显示Webview窗口的动画效果
* @param duration 显示Webview窗口动画的持续时间
* @param showedCB Webview窗口显示完成的回调函数
* @param extras 显示Webview窗口扩展参数
* @returns WebviewObject Webview窗口对象
*/
function show(
id_wvobj: String | WebviewObject,
aniShow?: AnimationTypeShow,
duration?: Number,
showedCB?: SuccessCallback,
extras?: WebviewExtraOptions
): WebviewObject;
/**
*
* @param options
* @param otherOptions
* @param callback
*/
function startAnimation(
options: WebviewAnimationOptions,
otherOptions?: WebviewAnimationOptions,
callback?: WebviewAnimationCallback
): void;
/**
* Webview窗口默认开启硬件加速则返回true,否则返回false。
*/
function defaultHardwareAccelerated(): Boolean;
//---------------------------0---------回调方法
/**
* Webview窗口操作成功回调函数
*/
interface SuccessCallback {
onSuccess(): void;
}
interface WebviewAnimationCallback {
onAnimationFinished(event: Event): void;
}
//----------------------------------
//空间成员
class WebviewObject {
id: string;
isVisible(): boolean;
getURL(): string;
parent(): WebviewObject;
append(webview: WebviewObject): void;
show(aniShow?: string, duration?: number);
hide(aniHide?: string, duration?: number);
close(): void;
/**
* 重新加载Webview窗口显示的HTML页面
* @param force 是否强制不使用缓存
*/
reload(force?: boolean): void;
/**
* 获取当前Webview窗口的创建者
* @returns
* @description 创建者为调用plus.webview.open或plus.webview.create方法创建当前窗口的Webview窗口。
*/
opener(): WebviewObject;
addEventListener(
event: string,
listener?: EventCallback,
capture?: boolean
): void;
}
interface EventCallback {
(event: Event): void;
}
//---------------------
class WebviewStyles {
additionalHttpHeaders?: JSON;
animationOptimization?: string;
cachemode?: string;
backButtonAutoControl?: string;
background?: string;
hardwareAccelerated: string;
height?: string;
left?: string;
top?: string;
bottom?: string;
render?: string;
popGesture?: string;
bounce?: string;
bounceBackground?: string;
}
/**
* 用于指定动画目标窗口,起始位置、目标位置等信息。
*/
class WebviewAnimationOptions {
//执行动画的窗口对象
view: WebviewObject;
//用于指定动画窗口的起始位置,目标位置等
styles: WebviewAnimationStyles;
//窗口动画完成后的行为
action: String;
}
/**
* 动画样式,用于指定动画窗口的起始位置、目标位置等信息。
*/
class WebviewAnimationStyles {
fromLeft: string;
toLeft: string;
}
}
//-=============================================
declare class WebviewExtraOptions {}
declare class AnimationTypeClose {}
declare class ShowParam {
autoShow?: boolean;
aniShow?: string;
duration?: number;
popGesture?: string;
}
declare class WaitingParam {
autoShow?: boolean;
title?: string;
options?: WindowStyles;
}
declare class AnimationTypeShow {}
declare class WindowStyles {
top?: number;
bottom?: number;
width?: number;
height?: number;
extras?: JSON;
popGesture?: string;
}
declare interface WebviewStatusbarStyles {
background: string;
}