@lijuhong1981/jsgif 1.0.1 → 1.0.2
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/index.js +28 -16
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -479,32 +479,44 @@ function GifPlayer(options = {}) {
|
|
|
479
479
|
return player;
|
|
480
480
|
}
|
|
481
481
|
|
|
482
|
+
function loadData(data) {
|
|
483
|
+
Check.defined('data', data);
|
|
484
|
+
|
|
485
|
+
return new Promise(function (resolve, reject) {
|
|
486
|
+
try {
|
|
487
|
+
if (data instanceof ArrayBuffer)
|
|
488
|
+
data = new Uint8Array(arraybuffer);
|
|
489
|
+
STREAM = new Stream(data);
|
|
490
|
+
reset();
|
|
491
|
+
parseHeader();
|
|
492
|
+
parseBlock();
|
|
493
|
+
stopGif();
|
|
494
|
+
if (options.autoPlay)
|
|
495
|
+
playGif();
|
|
496
|
+
resolve(player);
|
|
497
|
+
} catch (error) {
|
|
498
|
+
reject(error);
|
|
499
|
+
}
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
|
|
482
503
|
// 用xhr请求本地文件
|
|
483
|
-
function
|
|
504
|
+
function loadUrl(url, requestOptions) {
|
|
484
505
|
Check.typeOf.string('url', url);
|
|
485
506
|
|
|
486
507
|
return new Promise(function (resolve, reject) {
|
|
487
508
|
fetchArrayBuffer(url, requestOptions).then(function (arraybuffer) {
|
|
488
|
-
|
|
489
|
-
const data = new Uint8Array(arraybuffer);
|
|
490
|
-
STREAM = new Stream(data);
|
|
491
|
-
reset();
|
|
492
|
-
parseHeader();
|
|
493
|
-
parseBlock();
|
|
494
|
-
stopGif();
|
|
495
|
-
if (options.autoPlay)
|
|
496
|
-
playGif();
|
|
497
|
-
resolve(player);
|
|
498
|
-
} catch (error) {
|
|
499
|
-
reject(error);
|
|
500
|
-
}
|
|
509
|
+
loadData(arraybuffer).then(resolve).catch(reject);
|
|
501
510
|
}).catch(reject);
|
|
502
511
|
});
|
|
503
512
|
}
|
|
504
513
|
|
|
505
514
|
Object.defineProperties(player, {
|
|
506
|
-
|
|
507
|
-
value:
|
|
515
|
+
loadData: {
|
|
516
|
+
value: loadData,
|
|
517
|
+
},
|
|
518
|
+
loadUrl: {
|
|
519
|
+
value: loadUrl,
|
|
508
520
|
},
|
|
509
521
|
play: {
|
|
510
522
|
value: playGif,
|