1 | /**
|
2 | * Document 对象扩展
|
3 | */
|
4 | interface 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 | }
|
132 | interface 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 | }
|
152 | declare enum SameSite {
|
153 | NONE = "None",
|
154 | LAX = "Lax",
|
155 | STRICT = "Strict"
|
156 | }
|
157 | interface 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 | }
|
183 | interface 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 | }
|
208 | declare 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 | }
|
214 | declare var Document: {
|
215 | prototype: Document;
|
216 | new (): Document;
|
217 | };
|