/** * Document 对象扩展 */ interface Document { /** * 检测当前浏览器是否为全屏 * * @return 当前浏览器是否为全屏 */ readonly fullScreen: boolean; /** * 检测当前浏览器是否为全屏 * * @return 当前浏览器是否为全屏 */ readonly fullscreen: boolean; /** * 检测当前浏览器是否为全屏 * * @return 当前浏览器是否为全屏 */ readonly mozFullScreen: boolean; /** * 检测当前浏览器是否为全屏 * * @return 当前浏览器是否为全屏 */ readonly webkitIsFullScreen: boolean; /** * 检测当前浏览器是否为全屏 * * @return 当前浏览器是否为全屏 */ readonly msFullScreen: boolean; /** * 检测当前浏览器是否支持全屏模式 * * @return 当前浏览器是否支持全屏模式 */ readonly mozFullScreenEnabled: boolean; /** * 检测当前浏览器是否支持全屏模式 * * @return 当前浏览器是否支持全屏模式 */ readonly webkitFullscreenEnabled: boolean; /** * 检测当前浏览器是否支持全屏模式 * * @return 当前浏览器是否支持全屏模式 */ readonly msFullscreenEnabled: boolean; /** * 获取当前处于全屏模式的 DOM 元素 * * @return 当前处于全屏模式的 DOM 元素 */ readonly fullScreenElement: Element | null; /** * 获取当前处于全屏模式的 DOM 元素 * * @return 当前处于全屏模式的 DOM 元素 */ readonly fullscreenElement: Element | null; /** * 获取当前处于全屏模式的 DOM 元素 * * @return 当前处于全屏模式的 DOM 元素 */ readonly mozFullScreenElement: Element | null; /** * 获取当前处于全屏模式的 DOM 元素 * * @return 当前处于全屏模式的 DOM 元素 */ readonly webkitFullscreenElement: Element | null; /** * 获取当前处于全屏模式的 DOM 元素 * * @return 当前处于全屏模式的 DOM 元素 */ readonly msFullscreenElement: Element | null; /** * 获取 Cookie 对象 * * @return Cookie 对象 */ readonly httpCookie: Cookie; /** * 请求进入全屏模式 * * @return Promise */ requestFullscreen(): Promise; /** * 退出全屏模式 * * @return Promise */ exitFullscreen(): Promise; /** * 退出全屏模式 * * @return Promise */ mozCancelFullScreen(): Promise; /** * 退出全屏模式 * * @return Promise */ mozExitFullScreen(): Promise; /** * 退出全屏模式 * * @return Promise */ webkitCancelFullScreen(): Promise; /** * 请求进入全屏模式 * * @return Promise */ webkitExitFullscreen(): Promise; /** * 请求进入全屏模式 * * @return Promise */ msExitFullscreen(): Promise; } interface HTMLElement { /** * 请求进入全屏模式 * * @return Promise */ mozRequestFullScreen(): Promise; /** * 请求进入全屏模式 * * @return Promise */ webkitRequestFullscreen(): Promise; /** * 请求进入全屏模式 * * @return Promise */ msRequestFullscreen(): Promise; } declare enum SameSite { NONE = "None", LAX = "Lax", STRICT = "Strict" } interface CookieOptions { /** * Cookie 作用域 */ domain?: String; /** * Cookie 作用路径 */ path?: String; /** * Cookie 过期时间 */ expires?: Number | Date; /** * 是否启用安全 Cookie */ secure?: Boolean; /** * 是否为 HttpOnly */ httpOnly?: Boolean; /** * SameSite */ sameSite?: SameSite; } interface Cookie { /** * 设置 Cookie 值 * * @param name Cookie 名称 * @param value Cookie 值 * @param options Cookie 选项 * @return Cookie 值 */ set(name: string, value: string | null | undefined, options?: CookieOptions): string; /** * 获取 Cookie 值 * * @param name Cookie 名称 * @return Cookie 值;不存在时,返回 null */ get(name: string): string | null; /** * 删除 Cookie * * @param name Cookie 名称 * @param options Cookie 选项 */ delete(name: string, options?: CookieOptions): void; } declare class CookieInstance implements Cookie { constructor(); set(name: string, value: string | null | undefined, options?: CookieOptions): string; get(name: string): string | null; delete(name: string, options?: CookieOptions): void; } declare var Document: { prototype: Document; new (): Document; };