ckplayer-plus 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/dist/vue.js CHANGED
@@ -200,10 +200,14 @@ var require_ckplayer = __commonJS({
200
200
  //是否显示错误信息
201
201
  pluginPath: "",
202
202
  //插件与语言包根路径(bundler 下建议配置或设置 window.ckplayerBasePath)
203
- autoPlug: true
203
+ autoPlug: true,
204
204
  //未指定 plug 时,根据视频地址后缀自动选择 hls.js / flv.js / mpegts.js
205
+ preferBuiltinPlug: true,
206
+ //优先加载本包内置插件脚本,避免复用页面上其它版本的全局 Hls/flvjs/mpegts
207
+ cdnFallback: true
208
+ // getPath 失败时是否回退到 jsDelivr(内网可设 false,并配置 pluginPath)
205
209
  };
206
- var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@__VERSION__/dist/";
210
+ var ckplayerPlusDefaultCdn = "https://cdn.jsdelivr.net/npm/ckplayer-plus@1.0.2/dist/";
207
211
  function ckplayerEmbed(videoObj) {
208
212
  var rightMenu = [
209
213
  {
@@ -383,7 +387,11 @@ var require_ckplayer = __commonJS({
383
387
  if (fromScript && fromScript.indexOf(folder + "/") > -1 && fromScript.indexOf("undefined") === -1) {
384
388
  return fromScript;
385
389
  }
390
+ var allowCdn = !vars || vars["cdnFallback"] !== false;
386
391
  var cdn = typeof window !== "undefined" && window.ckplayerPlusCdn ? window.ckplayerPlusCdn : ckplayerPlusDefaultCdn;
392
+ if (!allowCdn || !cdn || cdn.indexOf("1.0.2") > -1) {
393
+ return folder + "/" + file;
394
+ }
387
395
  if (cdn.slice(-1) !== "/") {
388
396
  cdn += "/";
389
397
  }
@@ -659,6 +667,12 @@ var require_ckplayer = __commonJS({
659
667
  } else if (valType(vars["seek"]) == "string" && vars["seek"] !== "" && !isNaN(parseFloat(vars["seek"]))) {
660
668
  seekTime = parseFloat(vars["seek"]);
661
669
  }
670
+ if (seekTime && seekTime > 0) {
671
+ maxSeeTime = Math.max(maxSeeTime, seekTime);
672
+ if (firstSeekTime < 0) {
673
+ firstSeekTime = seekTime;
674
+ }
675
+ }
662
676
  }
663
677
  }, plugPlayer = function(url) {
664
678
  switch (vars["plug"]) {
@@ -721,7 +735,7 @@ var require_ckplayer = __commonJS({
721
735
  video.attr("src", url);
722
736
  }
723
737
  };
724
- if (typeof Hls !== "undefined" && !isUndefined(Hls)) {
738
+ if (typeof Hls !== "undefined" && !isUndefined(Hls) && !vars["preferBuiltinPlug"]) {
725
739
  startHls();
726
740
  return;
727
741
  }
@@ -759,7 +773,7 @@ var require_ckplayer = __commonJS({
759
773
  });
760
774
  }
761
775
  };
762
- if (typeof flvjs !== "undefined" && !isUndefined(flvjs)) {
776
+ if (typeof flvjs !== "undefined" && !isUndefined(flvjs) && !vars["preferBuiltinPlug"]) {
763
777
  startFlv();
764
778
  return;
765
779
  }
@@ -797,7 +811,7 @@ var require_ckplayer = __commonJS({
797
811
  });
798
812
  }
799
813
  };
800
- if (typeof mpegts !== "undefined" && !isUndefined(mpegts)) {
814
+ if (typeof mpegts !== "undefined" && !isUndefined(mpegts) && !vars["preferBuiltinPlug"]) {
801
815
  startMpegts();
802
816
  return;
803
817
  }
@@ -1404,6 +1418,12 @@ var require_ckplayer = __commonJS({
1404
1418
  if (dur && isFinite(dur) && dur > 0 && t >= dur) {
1405
1419
  t = Math.max(0, dur - 0.3);
1406
1420
  }
1421
+ if (t > 0) {
1422
+ maxSeeTime = Math.max(maxSeeTime, t);
1423
+ if (firstSeekTime < 0) {
1424
+ firstSeekTime = t;
1425
+ }
1426
+ }
1407
1427
  seekTime = 0;
1408
1428
  try {
1409
1429
  video.currentTime = t;
@@ -2529,6 +2549,12 @@ var require_ckplayer = __commonJS({
2529
2549
  target = parseFloat(fn2);
2530
2550
  }
2531
2551
  if (target !== null && video) {
2552
+ if (target > 0 && (seekTime && Math.abs(seekTime - target) < 0.5 || vars["seek"] && parseFloat(vars["seek"]) > 0 && Math.abs(parseFloat(vars["seek"]) - target) < 0.5)) {
2553
+ maxSeeTime = Math.max(maxSeeTime, target);
2554
+ if (firstSeekTime < 0) {
2555
+ firstSeekTime = target;
2556
+ }
2557
+ }
2532
2558
  switch (vars["timeScheduleAdjust"]) {
2533
2559
  case 0:
2534
2560
  message(language["timeScheduleAdjust"]["prohibit"]);
@@ -2574,6 +2600,12 @@ var require_ckplayer = __commonJS({
2574
2600
  var ready = video.readyState >= 2 || duration && isFinite(duration) && duration > 0;
2575
2601
  if (!ready) {
2576
2602
  seekTime = target;
2603
+ if (target > 0) {
2604
+ maxSeeTime = Math.max(maxSeeTime, target);
2605
+ if (firstSeekTime < 0) {
2606
+ firstSeekTime = target;
2607
+ }
2608
+ }
2577
2609
  try {
2578
2610
  video.currentTime = target;
2579
2611
  } catch (event2) {
@@ -2586,9 +2618,15 @@ var require_ckplayer = __commonJS({
2586
2618
  if (target < 0) {
2587
2619
  target = 0;
2588
2620
  }
2621
+ if (vars["timeScheduleAdjust"] == 5 && target > maxSeeTime && seekTime && Math.abs(seekTime - target) < 0.5) {
2622
+ maxSeeTime = Math.max(maxSeeTime, target);
2623
+ }
2589
2624
  try {
2590
2625
  video.currentTime = target;
2591
2626
  seekTime = 0;
2627
+ if (target > maxSeeTime && vars["timeScheduleAdjust"] != 5) {
2628
+ maxSeeTime = target;
2629
+ }
2592
2630
  } catch (event2) {
2593
2631
  seekTime = target;
2594
2632
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ckplayer-plus",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Enhanced ckplayer X3 packaging with Vue 2/3 and React wrappers — ESM-ready HTML5 video player",
5
5
  "keywords": [
6
6
  "ckplayer",
@@ -54,6 +54,7 @@
54
54
  "./style.css": "./dist/ckplayer.css",
55
55
  "./ckplayer.css": "./dist/ckplayer.css",
56
56
  "./ckplayer.min.js": "./dist/ckplayer.min.js",
57
+ "./images/*": "./dist/images/*",
57
58
  "./package.json": "./package.json"
58
59
  },
59
60
  "files": [
package/types/index.d.ts CHANGED
@@ -18,12 +18,21 @@ export interface CkplayerConfig {
18
18
  * mp4 → 不加载插件;m3u8 → hls.js;flv → flv.js;ts → mpegts.js
19
19
  */
20
20
  autoPlug?: boolean;
21
+ /**
22
+ * 优先加载本包内置 hls/flv/mpegts,默认 true。
23
+ * 设为 false 时若页面已有全局 Hls/flvjs/mpegts 则直接复用。
24
+ */
25
+ preferBuiltinPlug?: boolean;
26
+ /**
27
+ * getPath 失败时是否回退 jsDelivr,默认 true。内网无外网时请设 false 并配置 pluginPath。
28
+ */
29
+ cdnFallback?: boolean;
21
30
  /**
22
31
  * 插件与语言包根路径(需含 hls.js/、flv.js/ 等子目录)。
23
32
  * 一般无需配置:会优先用 window.ckplayerBasePath,否则回退到本包 jsDelivr CDN。
24
33
  */
25
34
  pluginPath?: string;
26
- language?: string;
35
+ /** 初始跳转秒数;续播时会同步 maxSeeTime(兼容 timeScheduleAdjust=5) */
27
36
  seek?: number | string;
28
37
  crossOrigin?: string;
29
38
  cookie?: string | object | any[];