@buession/prototype
Version:
A native object extension framework for Javascript.
218 lines (217 loc) • 5 kB
TypeScript
/**
* 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<void>;
/**
* 退出全屏模式
*
* @return Promise
*/
exitFullscreen(): Promise<void>;
/**
* 退出全屏模式
*
* @return Promise
*/
mozCancelFullScreen(): Promise<void>;
/**
* 退出全屏模式
*
* @return Promise
*/
mozExitFullScreen(): Promise<void>;
/**
* 退出全屏模式
*
* @return Promise
*/
webkitCancelFullScreen(): Promise<void>;
/**
* 请求进入全屏模式
*
* @return Promise
*/
webkitExitFullscreen(): Promise<void>;
/**
* 请求进入全屏模式
*
* @return Promise
*/
msExitFullscreen(): Promise<void>;
}
interface HTMLElement {
/**
* 请求进入全屏模式
*
* @return Promise
*/
mozRequestFullScreen(): Promise<void>;
/**
* 请求进入全屏模式
*
* @return Promise
*/
webkitRequestFullscreen(): Promise<void>;
/**
* 请求进入全屏模式
*
* @return Promise
*/
msRequestFullscreen(): Promise<void>;
}
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;
};