native-fn 1.0.41 → 1.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/native.cjs +380 -1
- package/dist/native.min.cjs +1 -1
- package/dist/native.min.mjs +1 -1
- package/dist/native.mjs +380 -1
- package/dist/native.umd.js +380 -1
- package/dist/native.umd.min.js +1 -1
- package/dist/plugin/app/index.cjs +262 -98
- package/dist/plugin/app/index.d.ts +18 -0
- package/dist/plugin/app/index.min.cjs +1 -1
- package/dist/plugin/app/index.min.mjs +1 -1
- package/dist/plugin/app/index.mjs +262 -98
- package/dist/plugin/app/index.umd.js +262 -98
- package/dist/plugin/app/index.umd.min.js +1 -1
- package/dist/plugin/app/src/constants/platform.d.ts +21 -12
- package/dist/plugin/app/src/types/platform.d.ts +17 -0
- package/dist/plugin/app/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/app/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/plugin/app/src/utils/dynamic-import.d.ts +1 -0
- package/dist/plugin/camera/index.cjs +248 -86
- package/dist/plugin/camera/index.min.cjs +1 -1
- package/dist/plugin/camera/index.min.mjs +1 -1
- package/dist/plugin/camera/index.mjs +248 -86
- package/dist/plugin/camera/index.umd.js +248 -86
- package/dist/plugin/camera/index.umd.min.js +1 -1
- package/dist/plugin/camera/src/constants/platform.d.ts +21 -12
- package/dist/plugin/camera/src/types/platform.d.ts +17 -0
- package/dist/plugin/camera/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/camera/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/plugin/camera/src/utils/dynamic-import.d.ts +1 -0
- package/dist/plugin/clipboard/index.cjs +7 -4
- package/dist/plugin/clipboard/index.min.cjs +1 -1
- package/dist/plugin/clipboard/index.min.mjs +1 -1
- package/dist/plugin/clipboard/index.mjs +7 -4
- package/dist/plugin/clipboard/index.umd.js +7 -4
- package/dist/plugin/clipboard/index.umd.min.js +1 -1
- package/dist/plugin/clipboard/src/constants/platform.d.ts +21 -12
- package/dist/plugin/clipboard/src/types/platform.d.ts +17 -0
- package/dist/plugin/clipboard/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/clipboard/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/plugin/clipboard/src/utils/dynamic-import.d.ts +1 -0
- package/dist/plugin/fullscreen/index.cjs +241 -82
- package/dist/plugin/fullscreen/index.min.cjs +1 -1
- package/dist/plugin/fullscreen/index.min.mjs +1 -1
- package/dist/plugin/fullscreen/index.mjs +241 -82
- package/dist/plugin/fullscreen/index.umd.js +241 -82
- package/dist/plugin/fullscreen/index.umd.min.js +1 -1
- package/dist/plugin/fullscreen/src/constants/platform.d.ts +21 -12
- package/dist/plugin/fullscreen/src/types/platform.d.ts +17 -0
- package/dist/plugin/fullscreen/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/fullscreen/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/plugin/fullscreen/src/utils/dynamic-import.d.ts +1 -0
- package/dist/plugin/platform/index.cjs +7 -7
- package/dist/plugin/platform/index.d.ts +18 -0
- package/dist/plugin/platform/index.min.cjs +1 -1
- package/dist/plugin/platform/index.min.mjs +1 -1
- package/dist/plugin/platform/index.mjs +7 -7
- package/dist/plugin/platform/index.umd.js +7 -7
- package/dist/plugin/platform/index.umd.min.js +1 -1
- package/dist/plugin/platform/src/constants/platform.d.ts +19 -0
- package/dist/plugin/platform/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/platform/src/utils/dynamic-import.d.ts +1 -0
- package/dist/plugin/theme/index.cjs +252 -91
- package/dist/plugin/theme/index.min.cjs +1 -1
- package/dist/plugin/theme/index.min.mjs +1 -1
- package/dist/plugin/theme/index.mjs +252 -91
- package/dist/plugin/theme/index.umd.js +252 -91
- package/dist/plugin/theme/index.umd.min.js +1 -1
- package/dist/plugin/theme/src/constants/platform.d.ts +21 -12
- package/dist/plugin/theme/src/types/platform.d.ts +17 -0
- package/dist/plugin/theme/src/utils/create-custom-error.d.ts +5 -0
- package/dist/plugin/theme/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/plugin/theme/src/utils/dynamic-import.d.ts +1 -0
- package/dist/src/constants/platform.d.ts +21 -12
- package/dist/src/types/platform.d.ts +17 -0
- package/dist/src/utils/create-custom-error.d.ts +5 -0
- package/dist/src/utils/create-hidden-element.d.ts +1 -1
- package/dist/src/utils/dynamic-import.d.ts +1 -0
- package/package.json +1 -8
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
function dynamicImport(moduleName) {
|
|
2
|
+
if ('require' in globalThis && typeof globalThis.require === 'function') {
|
|
3
|
+
try {
|
|
4
|
+
return Promise.resolve(globalThis.require(moduleName));
|
|
5
|
+
}
|
|
6
|
+
catch (_) {
|
|
7
|
+
return Promise.resolve(null);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return import(moduleName)
|
|
11
|
+
.then(function (module) {
|
|
12
|
+
return (module.default || module);
|
|
13
|
+
})
|
|
14
|
+
.catch(function () {
|
|
15
|
+
return Promise.resolve(null);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
2
18
|
|
|
3
19
|
var OS;
|
|
4
20
|
(function (OS) {
|
|
@@ -39,47 +55,22 @@ var Browsers;
|
|
|
39
55
|
Browsers["IE"] = "IE";
|
|
40
56
|
Browsers["SamsungInternet"] = "SamsungInternet";
|
|
41
57
|
})(Browsers || (Browsers = {}));
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
'NT 6.1': '7',
|
|
59
|
-
'NT 6.2': '8',
|
|
60
|
-
'NT 6.3': '8.1',
|
|
61
|
-
'NT 6.4': '10',
|
|
62
|
-
'NT 10.0': '10',
|
|
63
|
-
'ARM': 'RT'
|
|
64
|
-
}[string];
|
|
65
|
-
if (mapped !== undefined)
|
|
66
|
-
return mapped;
|
|
67
|
-
return string;
|
|
68
|
-
}
|
|
69
|
-
function resolveUnderscoreVersion(string) {
|
|
70
|
-
if (string === undefined)
|
|
71
|
-
return '';
|
|
72
|
-
return string.replace(/_/g, '.');
|
|
73
|
-
}
|
|
74
|
-
function resolveVersion(string, resolver) {
|
|
75
|
-
if (typeof resolver === 'function')
|
|
76
|
-
return resolver(string);
|
|
77
|
-
if (typeof resolver === 'string')
|
|
78
|
-
return resolver;
|
|
79
|
-
if (string === undefined)
|
|
80
|
-
return '';
|
|
81
|
-
return string;
|
|
82
|
-
}
|
|
58
|
+
var Platform = {
|
|
59
|
+
device: Devices.Unknown,
|
|
60
|
+
os: OS.Unknown,
|
|
61
|
+
osVersion: '',
|
|
62
|
+
engine: Engines.Unknown,
|
|
63
|
+
engineVersion: '',
|
|
64
|
+
browser: Browsers.Unknown,
|
|
65
|
+
browserVersion: '',
|
|
66
|
+
renderer: getRenderer(),
|
|
67
|
+
userAgent: navigator.userAgent,
|
|
68
|
+
isWebview: false,
|
|
69
|
+
isMobile: false,
|
|
70
|
+
isDesktop: false,
|
|
71
|
+
isStandalone: false,
|
|
72
|
+
isNodeJS: getIsNode(),
|
|
73
|
+
};
|
|
83
74
|
var OS_RESOLVER_MAP = [
|
|
84
75
|
[/windows nt (6\.[23]); arm/i, OS.Windows, resolveWindowsVersion],
|
|
85
76
|
[/windows (?:phone|mobile|iot)(?: os)?[\/ ]?([\d.]*( se)?)/i, OS.Windows, resolveWindowsVersion],
|
|
@@ -138,73 +129,240 @@ var BROWSER_RESOLVER_MAP = [
|
|
|
138
129
|
[/mobile vr; rv:([\w.]+)\).+firefox/i, Browsers.Firefox],
|
|
139
130
|
[/firefox\/([\w.]+)/i, Browsers.Firefox],
|
|
140
131
|
];
|
|
132
|
+
function resolveWindowsVersion(string) {
|
|
133
|
+
if (string === undefined)
|
|
134
|
+
return '';
|
|
135
|
+
var mapped = {
|
|
136
|
+
'4.90': 'ME',
|
|
137
|
+
'NT3.51': 'NT 3.11',
|
|
138
|
+
'NT4.0': 'NT 4.0',
|
|
139
|
+
'NT 5.0': '2000',
|
|
140
|
+
'NT 5.1': 'XP',
|
|
141
|
+
'NT 5.2': 'XP',
|
|
142
|
+
'NT 6.0': 'Vista',
|
|
143
|
+
'NT 6.1': '7',
|
|
144
|
+
'NT 6.2': '8',
|
|
145
|
+
'NT 6.3': '8.1',
|
|
146
|
+
'NT 6.4': '10',
|
|
147
|
+
'NT 10.0': '10',
|
|
148
|
+
'ARM': 'RT'
|
|
149
|
+
}[string];
|
|
150
|
+
if (mapped !== undefined)
|
|
151
|
+
return mapped;
|
|
152
|
+
return string;
|
|
153
|
+
}
|
|
154
|
+
function resolveUnderscoreVersion(string) {
|
|
155
|
+
if (string === undefined)
|
|
156
|
+
return '';
|
|
157
|
+
return string.replace(/_/g, '.');
|
|
158
|
+
}
|
|
159
|
+
function resolveVersion(string, resolver) {
|
|
160
|
+
if (typeof resolver === 'function')
|
|
161
|
+
return resolver(string);
|
|
162
|
+
if (typeof resolver === 'string')
|
|
163
|
+
return resolver;
|
|
164
|
+
if (string === undefined)
|
|
165
|
+
return '';
|
|
166
|
+
return string;
|
|
167
|
+
}
|
|
168
|
+
function normalizeBrand(entry) {
|
|
169
|
+
if (entry === null || entry === undefined)
|
|
170
|
+
return { brand: '', version: '' };
|
|
171
|
+
if (typeof entry === 'string')
|
|
172
|
+
return { brand: entry, version: '' };
|
|
173
|
+
return { brand: entry.brand, version: entry.version };
|
|
174
|
+
}
|
|
175
|
+
function getRenderer() {
|
|
176
|
+
if (typeof globalThis.document === 'undefined')
|
|
177
|
+
return '';
|
|
178
|
+
var canvas = globalThis.document.createElement('canvas');
|
|
179
|
+
if (typeof canvas.getContext !== 'function')
|
|
180
|
+
return '';
|
|
181
|
+
var context = canvas.getContext('webgl2') || canvas.getContext('experimental-webgl') || canvas.getContext('webgl');
|
|
182
|
+
if (context === null)
|
|
183
|
+
return '';
|
|
184
|
+
if (context instanceof WebGLRenderingContext || 'getParameter' in context && typeof context.getParameter === 'function') {
|
|
185
|
+
var extension = context.getExtension('WEBGL_debug_renderer_info');
|
|
186
|
+
if (extension === null)
|
|
187
|
+
return context.getParameter(context.RENDERER);
|
|
188
|
+
else
|
|
189
|
+
return context.getParameter(extension.UNMASKED_RENDERER_WEBGL);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
return '';
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
function getIsStandalone(os) {
|
|
196
|
+
if (!('matchMedia' in globalThis))
|
|
197
|
+
return false;
|
|
198
|
+
if (os === OS.iOS)
|
|
199
|
+
return 'standalone' in navigator && !!navigator.standalone;
|
|
200
|
+
return globalThis.matchMedia('(display-mode: standalone)').matches;
|
|
201
|
+
}
|
|
202
|
+
function getIsWebview() {
|
|
203
|
+
return /; ?wv|applewebkit(?!.*safari)/i.test(Platform.userAgent);
|
|
204
|
+
}
|
|
205
|
+
function getIsNode() {
|
|
206
|
+
return typeof globalThis.process !== 'undefined' && typeof globalThis.process.versions !== 'undefined' && globalThis.process.versions.node !== undefined;
|
|
207
|
+
}
|
|
208
|
+
function getNodeOSVersion(string) {
|
|
209
|
+
var parts = string.split('.');
|
|
210
|
+
return {
|
|
211
|
+
major: parseInt(parts[0] || '0'),
|
|
212
|
+
minor: parseInt(parts[1] || '0'),
|
|
213
|
+
build: parseInt(parts[2] || '0')
|
|
214
|
+
};
|
|
215
|
+
}
|
|
141
216
|
for (var i = 0; i < OS_RESOLVER_MAP.length; i++) {
|
|
142
217
|
var map = OS_RESOLVER_MAP[i];
|
|
143
218
|
var regexp = map[0];
|
|
144
219
|
var os = map[1];
|
|
145
220
|
var resolver = map[2];
|
|
146
|
-
var matched =
|
|
221
|
+
var matched = Platform.userAgent.match(regexp);
|
|
147
222
|
if (matched !== null) {
|
|
148
|
-
|
|
149
|
-
|
|
223
|
+
Platform.os = os;
|
|
224
|
+
Platform.osVersion = resolveVersion(matched[1], resolver);
|
|
150
225
|
if (os === OS.iOS || os === OS.Android)
|
|
151
|
-
|
|
226
|
+
Platform.device = Devices.Mobile;
|
|
152
227
|
else if (os === OS.Windows || os === OS.MacOS)
|
|
153
|
-
|
|
228
|
+
Platform.device = Devices.Desktop;
|
|
154
229
|
break;
|
|
155
230
|
}
|
|
156
231
|
}
|
|
157
232
|
for (var i = 0; i < ENGINE_RESOLVER_MAP.length; i++) {
|
|
158
233
|
var map = ENGINE_RESOLVER_MAP[i];
|
|
159
234
|
var regexp = map[0];
|
|
160
|
-
map[1];
|
|
235
|
+
var engine = map[1];
|
|
161
236
|
var resolver = map[2];
|
|
162
|
-
var matched =
|
|
237
|
+
var matched = Platform.userAgent.match(regexp);
|
|
163
238
|
if (matched !== null) {
|
|
164
|
-
|
|
239
|
+
Platform.engine = engine;
|
|
240
|
+
Platform.engineVersion = resolveVersion(matched[1], resolver);
|
|
165
241
|
break;
|
|
166
242
|
}
|
|
167
243
|
}
|
|
168
244
|
for (var i = 0; i < BROWSER_RESOLVER_MAP.length; i++) {
|
|
169
245
|
var map = BROWSER_RESOLVER_MAP[i];
|
|
170
246
|
var regexp = map[0];
|
|
171
|
-
map[1];
|
|
247
|
+
var browser = map[1];
|
|
172
248
|
var resolver = map[2];
|
|
173
|
-
var matched =
|
|
249
|
+
var matched = Platform.userAgent.match(regexp);
|
|
174
250
|
if (matched !== null) {
|
|
175
|
-
|
|
251
|
+
Platform.browser = browser;
|
|
252
|
+
Platform.browserVersion = resolveVersion(matched[1], resolver);
|
|
176
253
|
break;
|
|
177
254
|
}
|
|
178
255
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
256
|
+
if (Platform.isNodeJS) {
|
|
257
|
+
dynamicImport('os')
|
|
258
|
+
.then(function (os) {
|
|
259
|
+
if (os === null)
|
|
260
|
+
return;
|
|
261
|
+
var platform = os.platform();
|
|
262
|
+
var release = os.release();
|
|
263
|
+
var version = getNodeOSVersion(release);
|
|
264
|
+
switch (platform) {
|
|
265
|
+
case 'win32':
|
|
266
|
+
Platform.os = OS.Windows;
|
|
267
|
+
if (version.major === 10 && version.minor === 0 && version.build >= 22000)
|
|
268
|
+
Platform.osVersion = '11';
|
|
269
|
+
else if (version.major === 10 && version.minor === 0 && version.build < 22000)
|
|
270
|
+
Platform.osVersion = '10';
|
|
271
|
+
else if (version.major === 6 && version.minor === 3)
|
|
272
|
+
Platform.osVersion = '8.1';
|
|
273
|
+
else if (version.major === 6 && version.minor === 2)
|
|
274
|
+
Platform.osVersion = '8';
|
|
275
|
+
else if (version.major === 6 && version.minor === 1)
|
|
276
|
+
Platform.osVersion = '7';
|
|
277
|
+
else if (version.major === 6 && version.minor === 0)
|
|
278
|
+
Platform.osVersion = 'Vista';
|
|
279
|
+
else if (version.major === 5 && version.minor === 1)
|
|
280
|
+
Platform.osVersion = 'XP';
|
|
281
|
+
else if (version.major === 5 && version.minor === 2)
|
|
282
|
+
Platform.osVersion = 'XP';
|
|
283
|
+
else if (version.major === 5 && version.minor === 0)
|
|
284
|
+
Platform.osVersion = '2000';
|
|
285
|
+
else if (version.major === 4 && version.minor === 90)
|
|
286
|
+
Platform.osVersion = 'ME';
|
|
287
|
+
else if (version.major === 4 && version.minor === 0)
|
|
288
|
+
Platform.osVersion = 'NT 4.0';
|
|
289
|
+
else if (version.major === 3 && version.minor === 51)
|
|
290
|
+
Platform.osVersion = 'NT 3.11';
|
|
291
|
+
else
|
|
292
|
+
Platform.osVersion = release;
|
|
293
|
+
break;
|
|
294
|
+
case 'darwin':
|
|
295
|
+
Platform.os = OS.MacOS;
|
|
296
|
+
if (version.major >= 24)
|
|
297
|
+
Platform.osVersion = '' + (version.major - 9);
|
|
298
|
+
else if (version.major === 23)
|
|
299
|
+
Platform.osVersion = '14';
|
|
300
|
+
else if (version.major === 22)
|
|
301
|
+
Platform.osVersion = '13';
|
|
302
|
+
else if (version.major === 21)
|
|
303
|
+
Platform.osVersion = '12';
|
|
304
|
+
else if (version.major === 20)
|
|
305
|
+
Platform.osVersion = '11';
|
|
306
|
+
else if (version.major === 19)
|
|
307
|
+
Platform.osVersion = '10.15';
|
|
308
|
+
else if (version.major === 18)
|
|
309
|
+
Platform.osVersion = '10.14';
|
|
310
|
+
else if (version.major === 17)
|
|
311
|
+
Platform.osVersion = '10.13';
|
|
312
|
+
else if (version.major === 16)
|
|
313
|
+
Platform.osVersion = '10.12';
|
|
314
|
+
else if (version.major === 15)
|
|
315
|
+
Platform.osVersion = '10.11';
|
|
316
|
+
else if (version.major === 14)
|
|
317
|
+
Platform.osVersion = '10.10';
|
|
318
|
+
else if (version.major === 13)
|
|
319
|
+
Platform.osVersion = '10.9';
|
|
320
|
+
else if (version.major >= 5 && version.major <= 12)
|
|
321
|
+
Platform.osVersion = '10.' + (version.major - 4);
|
|
322
|
+
else
|
|
323
|
+
Platform.osVersion = release;
|
|
324
|
+
break;
|
|
325
|
+
case 'android':
|
|
326
|
+
Platform.os = OS.Android;
|
|
327
|
+
Platform.osVersion = release;
|
|
328
|
+
break;
|
|
329
|
+
case 'linux':
|
|
330
|
+
if (/android/i.test(release)) {
|
|
331
|
+
Platform.os = OS.Android;
|
|
332
|
+
Platform.osVersion = release;
|
|
333
|
+
}
|
|
334
|
+
break;
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
if (navigator.userAgentData !== undefined && navigator.userAgentData.getHighEntropyValues !== undefined) {
|
|
339
|
+
navigator
|
|
340
|
+
.userAgentData
|
|
341
|
+
.getHighEntropyValues(['brands', 'fullVersionList', 'mobile', 'model', 'platform', 'platformVersion', 'architecture', 'formFactors', 'bitness', 'uaFullVersion', 'wow64'])
|
|
342
|
+
.then(function (result) {
|
|
343
|
+
var brands = result.fullVersionList || result.brands || [];
|
|
344
|
+
var platformVersion = result.platformVersion;
|
|
345
|
+
for (var i = 0; i < brands.length; i++) {
|
|
346
|
+
var brand = normalizeBrand(brands[i]);
|
|
347
|
+
var brandName = brand.brand;
|
|
348
|
+
var brandVersion = brand.version;
|
|
349
|
+
if (/not.a.brand/i.test(brandName))
|
|
350
|
+
continue;
|
|
351
|
+
if (brandName === "Chromium")
|
|
352
|
+
Platform.engineVersion = brandVersion;
|
|
353
|
+
}
|
|
354
|
+
if (typeof platformVersion === 'string') {
|
|
355
|
+
if (Platform.os === OS.Windows && parseInt(platformVersion.replace(/[^\d.]/g, '').split('.')[0], 10) >= 13)
|
|
356
|
+
Platform.osVersion = '11';
|
|
357
|
+
else
|
|
358
|
+
Platform.osVersion = platformVersion;
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
Platform.isMobile = Platform.device === Devices.Mobile;
|
|
363
|
+
Platform.isDesktop = Platform.device === Devices.Desktop;
|
|
364
|
+
Platform.isWebview = getIsWebview();
|
|
365
|
+
Platform.isStandalone = getIsStandalone(Platform.os);
|
|
208
366
|
|
|
209
367
|
function getTopmostWindow() {
|
|
210
368
|
try {
|
|
@@ -237,6 +395,8 @@ function dispatchClickEvent(element, view) {
|
|
|
237
395
|
|
|
238
396
|
function createHiddenElement(tagName, focusable) {
|
|
239
397
|
if (focusable === void 0) { focusable = true; }
|
|
398
|
+
if (typeof globalThis.document === 'undefined')
|
|
399
|
+
return undefined;
|
|
240
400
|
var element = globalThis.document.createElement(tagName);
|
|
241
401
|
if ('width' in element)
|
|
242
402
|
element.width = '0';
|
|
@@ -293,13 +453,15 @@ function tryOpenCamera(type) {
|
|
|
293
453
|
var input;
|
|
294
454
|
try {
|
|
295
455
|
input = createHiddenElement('input');
|
|
456
|
+
if (input === undefined)
|
|
457
|
+
return;
|
|
296
458
|
input.type = 'file';
|
|
297
459
|
input.tabIndex = -1;
|
|
298
460
|
input.accept = type + '/*';
|
|
299
461
|
if ('capture' in HTMLInputElement.prototype) {
|
|
300
462
|
input.capture = 'user';
|
|
301
463
|
}
|
|
302
|
-
else if (
|
|
464
|
+
else if (Platform.os === OS.Android) {
|
|
303
465
|
var capture = '';
|
|
304
466
|
if (type === 'image')
|
|
305
467
|
capture = 'camera';
|
|
@@ -341,16 +503,16 @@ var Camera = {
|
|
|
341
503
|
open: open
|
|
342
504
|
};
|
|
343
505
|
function open(type) {
|
|
344
|
-
switch (
|
|
506
|
+
switch (Platform.os) {
|
|
345
507
|
case OS.Android:
|
|
346
508
|
tryOpenCamera(type);
|
|
347
509
|
break;
|
|
348
510
|
case OS.iOS:
|
|
349
|
-
if (compareVersion(
|
|
511
|
+
if (compareVersion(Platform.osVersion, '10.3') >= 0) {
|
|
350
512
|
tryOpenCamera(type);
|
|
351
513
|
}
|
|
352
514
|
else {
|
|
353
|
-
alert(
|
|
515
|
+
alert(Platform.osVersion);
|
|
354
516
|
}
|
|
355
517
|
break;
|
|
356
518
|
case OS.Windows:
|