UNPKG

5 kBTypeScriptView Raw
1/**
2 * Document 对象扩展
3 */
4interface Document {
5 /**
6 * 检测当前浏览器是否为全屏
7 *
8 * @return 当前浏览器是否为全屏
9 */
10 readonly fullScreen: boolean;
11 /**
12 * 检测当前浏览器是否为全屏
13 *
14 * @return 当前浏览器是否为全屏
15 */
16 readonly fullscreen: boolean;
17 /**
18 * 检测当前浏览器是否为全屏
19 *
20 * @return 当前浏览器是否为全屏
21 */
22 readonly mozFullScreen: boolean;
23 /**
24 * 检测当前浏览器是否为全屏
25 *
26 * @return 当前浏览器是否为全屏
27 */
28 readonly webkitIsFullScreen: boolean;
29 /**
30 * 检测当前浏览器是否为全屏
31 *
32 * @return 当前浏览器是否为全屏
33 */
34 readonly msFullScreen: boolean;
35 /**
36 * 检测当前浏览器是否支持全屏模式
37 *
38 * @return 当前浏览器是否支持全屏模式
39 */
40 readonly mozFullScreenEnabled: boolean;
41 /**
42 * 检测当前浏览器是否支持全屏模式
43 *
44 * @return 当前浏览器是否支持全屏模式
45 */
46 readonly webkitFullscreenEnabled: boolean;
47 /**
48 * 检测当前浏览器是否支持全屏模式
49 *
50 * @return 当前浏览器是否支持全屏模式
51 */
52 readonly msFullscreenEnabled: boolean;
53 /**
54 * 获取当前处于全屏模式的 DOM 元素
55 *
56 * @return 当前处于全屏模式的 DOM 元素
57 */
58 readonly fullScreenElement: Element | null;
59 /**
60 * 获取当前处于全屏模式的 DOM 元素
61 *
62 * @return 当前处于全屏模式的 DOM 元素
63 */
64 readonly fullscreenElement: Element | null;
65 /**
66 * 获取当前处于全屏模式的 DOM 元素
67 *
68 * @return 当前处于全屏模式的 DOM 元素
69 */
70 readonly mozFullScreenElement: Element | null;
71 /**
72 * 获取当前处于全屏模式的 DOM 元素
73 *
74 * @return 当前处于全屏模式的 DOM 元素
75 */
76 readonly webkitFullscreenElement: Element | null;
77 /**
78 * 获取当前处于全屏模式的 DOM 元素
79 *
80 * @return 当前处于全屏模式的 DOM 元素
81 */
82 readonly msFullscreenElement: Element | null;
83 /**
84 * 获取 Cookie 对象
85 *
86 * @return Cookie 对象
87 */
88 readonly httpCookie: Cookie;
89 /**
90 * 请求进入全屏模式
91 *
92 * @return Promise
93 */
94 requestFullscreen(): Promise<void>;
95 /**
96 * 退出全屏模式
97 *
98 * @return Promise
99 */
100 exitFullscreen(): Promise<void>;
101 /**
102 * 退出全屏模式
103 *
104 * @return Promise
105 */
106 mozCancelFullScreen(): Promise<void>;
107 /**
108 * 退出全屏模式
109 *
110 * @return Promise
111 */
112 mozExitFullScreen(): Promise<void>;
113 /**
114 * 退出全屏模式
115 *
116 * @return Promise
117 */
118 webkitCancelFullScreen(): Promise<void>;
119 /**
120 * 请求进入全屏模式
121 *
122 * @return Promise
123 */
124 webkitExitFullscreen(): Promise<void>;
125 /**
126 * 请求进入全屏模式
127 *
128 * @return Promise
129 */
130 msExitFullscreen(): Promise<void>;
131}
132interface HTMLElement {
133 /**
134 * 请求进入全屏模式
135 *
136 * @return Promise
137 */
138 mozRequestFullScreen(): Promise<void>;
139 /**
140 * 请求进入全屏模式
141 *
142 * @return Promise
143 */
144 webkitRequestFullscreen(): Promise<void>;
145 /**
146 * 请求进入全屏模式
147 *
148 * @return Promise
149 */
150 msRequestFullscreen(): Promise<void>;
151}
152declare enum SameSite {
153 NONE = "None",
154 LAX = "Lax",
155 STRICT = "Strict"
156}
157interface CookieOptions {
158 /**
159 * Cookie 作用域
160 */
161 domain?: String;
162 /**
163 * Cookie 作用路径
164 */
165 path?: String;
166 /**
167 * Cookie 过期时间
168 */
169 expires?: Number | Date;
170 /**
171 * 是否启用安全 Cookie
172 */
173 secure?: Boolean;
174 /**
175 * 是否为 HttpOnly
176 */
177 httpOnly?: Boolean;
178 /**
179 * SameSite
180 */
181 sameSite?: SameSite;
182}
183interface Cookie {
184 /**
185 * 设置 Cookie 值
186 *
187 * @param name Cookie 名称
188 * @param value Cookie 值
189 * @param options Cookie 选项
190 * @return Cookie 值
191 */
192 set(name: string, value: string | null | undefined, options?: CookieOptions): string;
193 /**
194 * 获取 Cookie 值
195 *
196 * @param name Cookie 名称
197 * @return Cookie 值;不存在时,返回 null
198 */
199 get(name: string): string | null;
200 /**
201 * 删除 Cookie
202 *
203 * @param name Cookie 名称
204 * @param options Cookie 选项
205 */
206 delete(name: string, options?: CookieOptions): void;
207}
208declare class CookieInstance implements Cookie {
209 constructor();
210 set(name: string, value: string | null | undefined, options?: CookieOptions): string;
211 get(name: string): string | null;
212 delete(name: string, options?: CookieOptions): void;
213}
214declare var Document: {
215 prototype: Document;
216 new (): Document;
217};