UNPKG

html5-plus

Version:

html5 plus typescript DefinitelyTyped (alpha...)

239 lines (227 loc) 6.41 kB
/** * 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; }