Compare commits

..

358 Commits

Author SHA1 Message Date
Michael Lip bc43cc0ac2
docs: upgrade HTTP image link to HTTPS in README (#1370)
Updates the imgur screenshot link from http:// to https:// for secure
loading. The image renders identically over HTTPS.
2026-03-04 11:04:09 +08:00
koszzz c07900cb8d
修复了切换清晰度时 hls 等实例不被销毁导致内存泄漏的问题 (#1369)
* 修复了切换清晰度时 hls 等实例不被销毁导致内存泄漏的问题

* 在文档中增加了销毁实例以防内存泄漏的提示,并移除了过时内容
2026-02-21 20:14:48 +08:00
EzraRT 3fd7896375
Merge pull request #1365 from EzraRT/patch-1
更改dashjs调用方式
2025-05-16 10:50:11 +08:00
DIYgod f00e304ca3
chore: tea 2024-02-24 00:55:12 +08:00
DIYgod 445388037d
Merge pull request #1357 from wdssmq/for-pr
fix(danmaku). animation-name 属性的标准值不应该加引号;
2024-01-21 01:15:44 +08:00
DIYgod 44d35f6acc
Merge pull request #1359 from codersclub/russian_lang
Russian translation added
2024-01-21 01:15:18 +08:00
Valery Votintsev 0a026a4002 Russian translation added 2023-12-20 19:31:07 +03:00
DIYgod c05bd08afa
Merge pull request #1358 from dinoue/feature/JapaneseTranslation
Japanese translation added
2023-12-07 20:43:31 +08:00
INOUE Daisuke 3cf3e4be36 Japanese translation added 2023-12-04 16:10:24 +09:00
wdssmq 2e9b87f019 fix(danmaku). animation-name 属性的标准值不应该加引号;
animation-name - CSS:层叠样式表 | MDN
https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation-name
2023-10-10 12:52:04 +08:00
DIYgod 7977068e35
Merge pull request #1355 from huangyan321/fix-isMobile
fix: expand user-agent check for mobile devices
2023-09-23 13:14:30 +08:00
huangyan321 80b9b01a16 fix: expand user-agent check for mobile devices 2023-09-21 17:19:27 +08:00
DIYgod a415527038
docs: add umami 2023-08-15 22:32:04 +01:00
DIYgod 3e799a02c4
chore: update dependencies and remove eslint 2023-08-13 18:52:44 +01:00
DIYgod b0ba40b90e
Merge pull request #1335 from DusuWen/master 2023-08-13 17:51:20 +01:00
DusuWen 9ca1c1ebd4 Prevent the control bar from changing when a touchstart or mousedown event is emitted on it 2023-05-17 17:43:19 +08:00
DIYgod cb1cadbc79
docs: update who use 2023-02-24 23:20:11 +00:00
DIYgod 6c1336448b
chore: release v1.27.1 2023-01-22 17:36:19 +00:00
DIYgod 4f6109192a
fix: typo 2023-01-22 15:40:58 +00:00
DIYgod cb6408a943
feat: trigger with original event 2023-01-22 15:37:46 +00:00
DIYgod 255bbac7a4
fix: error notice not disappear 2023-01-22 15:23:38 +00:00
DIYgod 6e780e048d
fix: unfinished switching quality notice 2023-01-22 15:21:08 +00:00
DIYgod ef90da3254
chore: update dependencies 2023-01-22 15:15:03 +00:00
DIYgod 46722004d6
fix: repeated volume notice 2023-01-22 15:14:52 +00:00
DIYgod 602f8fdca9
Merge pull request #1313 from antnesswcm/doc_error 2023-01-22 15:13:43 +00:00
antnesswcm 1dc5acf755
Modify the link to the error 修改链接指向错误
中文文档的guide应该指向zh/guide
The guide of Chinese documents should point to zh/guide
https://github.com/DIYgod/DPlayer/issues/1312
2022-12-14 13:47:52 +08:00
antnesswcm b83195db10
Modify the link to the error 修改链接指向错误
中文文档的guide应该指向zh/guide
The guide of Chinese documents should point to zh/guide
2022-12-14 13:46:51 +08:00
DIYgod 1b1b6da6e3
docs: update image 2022-11-10 23:57:38 +00:00
DIYgod 81bd218e58
Merge pull request #1303 from SukkaW/remove-rxjs 2022-09-06 00:44:09 +01:00
SukkaW bdb16d9bb3 chore: remove unnecessary rxjs 2022-09-04 18:29:00 +08:00
DIYgod d833e2c835
chore: release v1.27.0 2022-08-16 01:17:50 +01:00
DIYgod a0424ca303
docs: fix vue dom work 2022-08-16 01:11:14 +01:00
DIYgod d905e0ed4b
docs: migration 2022-08-16 01:00:43 +01:00
DIYgod 4357a7d780
docs: use docs dir 2022-08-16 00:32:54 +01:00
DIYgod 20517bd5f0
docs: use docs dir 2022-08-16 00:29:36 +01:00
DIYgod 5e54f83d79 Revert "docs: upgrade vuepress"
This reverts commit 7808f5c424.
2022-08-16 00:20:21 +01:00
DIYgod 7808f5c424
docs: upgrade vuepress 2022-08-15 23:45:21 +01:00
DIYgod 99c880f436
chore: remove eslint loader 2022-08-15 22:51:07 +01:00
DIYgod d9b7c1934f
chore: github actions use npm 2022-08-15 22:38:11 +01:00
DIYgod e80b99de5a
chore: fix github actions missing pnpm 2022-08-15 22:35:47 +01:00
DIYgod dc679fee6d
chore: fix github actions missing pnpm 2022-08-15 22:33:55 +01:00
DIYgod 360a35f1c4
chore: fix github actions missing pnpm 2022-08-15 22:30:32 +01:00
DIYgod 064dccdff3
chore: add github workflow 2022-08-15 22:28:28 +01:00
DIYgod d1c32f66db
feat: missing tran undefined 2022-08-15 22:14:06 +01:00
DIYgod 2b6b46e5f6 Merge branch 'multisubtitle' of github.com:jiliangsoft/DPlayer into jiliangsoft-multisubtitle 2022-08-15 22:11:03 +01:00
DIYgod ef273ec42a
feat: added german translation and in the process a new translation system, close #1221, credit @Totto16 2022-08-15 21:38:52 +01:00
DIYgod b429b9a5b7
feat: add preventClickToggle option, close #1221 2022-08-15 21:15:14 +01:00
DIYgod 52e962736b Merge branch 'master' of github.com:Mitsuha/DPlayer into Mitsuha-master 2022-08-15 21:04:37 +01:00
DIYgod 32c389a8b5
Merge pull request #1175 from PanHywel/master 2022-08-15 21:01:32 +01:00
DIYgod ad4a1a78be
feat: revert contextmenuHandler 2022-08-15 21:00:57 +01:00
DIYgod 455af3385f
Merge pull request #1138 from zd-x/xzd-merge 2022-08-15 20:59:42 +01:00
DIYgod b16e54049b
Merge pull request #1112 from wdssmq/for-pr 2022-08-15 20:04:46 +01:00
DIYgod 414a035cef
Merge branch 'master' into for-pr 2022-08-15 20:04:30 +01:00
DIYgod 0634b3df99
docs: update options 2022-08-15 19:57:43 +01:00
siegaii 6d7d9f34f1 feature: issues:#161 Add danmaku speed control 2022-08-15 19:03:28 +01:00
DIYgod c162fcc045
Merge pull request #1101 from chussum/feat/i18n-kokr 2022-08-15 18:54:39 +01:00
DIYgod 69dfac4fc0
Merge pull request #1008 from OldTaoge/master 2022-08-15 18:54:05 +01:00
DIYgod 14fdd9353c Merge branch 'pr/iAladdin/988' 2022-08-15 18:51:28 +01:00
DIYgod be9bb1f064
Merge pull request #980 from b-ye/patch-1 2022-08-15 18:38:20 +01:00
DIYgod 04b000206f
feat: set default chromecast option to false 2022-08-15 18:31:37 +01:00
DIYgod fccdda6d47 Merge branch 'pr/dpgiakatos/943' 2022-08-15 18:22:09 +01:00
DIYgod 501525cc7c
chore: use pnpm 2022-08-15 18:10:45 +01:00
DIYgod af4efc3182
chore: update dependencies and use less 2022-08-15 18:09:13 +01:00
DIYgod 6864587010
docs: update Related Projects 2022-08-15 17:29:00 +01:00
DIYgod 2143a266d9
docs: update Related Projects 2022-07-20 01:05:27 +01:00
DIYgod 14afb2a366
docs: update Related Projects 2022-07-20 01:04:48 +01:00
ngyyuusora 367c1c818c fix(proj): update dist 2022-06-13 08:20:50 +00:00
ngyyuusora 91da373e58 feat(subtitles): adaptive subtitles box height 2022-06-13 08:20:12 +00:00
ngyyuusora b974065ea4 fix(subtitles): improve multisubtitle change operation 2022-06-13 04:18:33 +00:00
yuusora b6560870eb feat(i18n): more lang code 2022-05-17 14:34:05 +08:00
yuusora 1f512ef616 fix(subtitles): use key 'url' for vtt url instead of 'subtitle' 2022-05-13 12:22:14 +08:00
yuusora fa4835d750 fix(subtitle): a cue's endTime qeual next cues's startTime,track.activeCues prob 2022-05-13 12:21:31 +08:00
DIYgod ba61ce3dfb
docs: add carbon ads 2022-04-29 11:03:47 +01:00
yuusora a25d7d4da9 fix(subtitles): default search use this.options.lang; use lowercase langcode 2022-01-25 14:41:11 +08:00
yuusora 3fb5f1b152 fix(sub): init miss detect undefiend subtitle 2022-01-13 14:56:40 +08:00
yuusora 8c56146fef feat(sub): i18n for sub lang(todo) 2022-01-13 09:29:35 +08:00
yuusora d7846e5fbe feat(sub): demo to subtitles 2022-01-13 09:25:55 +08:00
yuusora d18ea10e1f feat(sub): init subtitles options 2022-01-13 09:25:42 +08:00
yuusora e7798e8d15 feat(sub): subtitles module 2022-01-13 09:25:23 +08:00
yuusora c1159a5448 feat(sub): init old subtitle btn only url string 2022-01-13 09:24:28 +08:00
yuusora 0dc16c5360 feat(sub): add selector for subtitles 2022-01-13 09:23:46 +08:00
yuusora 39992e640b feat(sub): player css 2022-01-13 09:23:26 +08:00
yuusora 103373f0db feat(sub): video arttemp 2022-01-13 09:23:14 +08:00
yuusora d2fc4768fb feat(sub): player arttemp 2022-01-13 09:23:06 +08:00
Mitsuha 281334b7d9 support multiple notices 2021-07-14 15:52:13 +08:00
hywel f76834fb4b Fix the problem of getting highlight exception after perload is enabled in multiple instances 2021-05-03 22:07:38 +08:00
xiaozhengdong 5be01ad19f fix: 销毁播放器时移除绑定的事件,避免内存泄漏;video标签contextmenu原生事件阻止有漏掉的情况; 2021-01-12 10:33:13 +08:00
DIYgod 808dd623d6
Merge pull request #1122 from cdnbye/master 2020-12-02 01:09:13 +08:00
snowinszu a00480ef07
Update guide.md 2020-12-01 15:38:10 +08:00
snowinszu e14cd11417 Update guide.md 2020-12-01 15:36:56 +08:00
snowinszu 59699fc3bb
Update guide.md 2020-12-01 15:34:41 +08:00
snowinszu 17568bd426
Add cdnbye demo 2020-12-01 15:32:14 +08:00
snowinszu 1b3be7749a
Add CBPlayer 2020-12-01 15:22:22 +08:00
wdssmq fcd95905d8 fix #1099 #876 2020-11-13 12:33:16 +08:00
wdssmq 9ca151eebf demo 中options属性写错成了option 2020-11-13 11:19:36 +08:00
dependabot-preview[bot] c52037d937
Merge pull request #1109 from MoePlayer/dependabot/npm_and_yarn/babel-loader-8.2.1 2020-11-11 09:30:07 +00:00
dependabot-preview[bot] 68a4e8165b
chore(deps-dev): bump babel-loader from 8.1.0 to 8.2.1
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.1.0 to 8.2.1.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.1.0...v8.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-11 08:50:55 +00:00
dependabot-preview[bot] a4a4fc77e0
Merge pull request #1100 from MoePlayer/dependabot/npm_and_yarn/node-sass-5.0.0 2020-11-09 10:37:44 +00:00
dependabot-preview[bot] 74855ceffc
chore(deps-dev): bump node-sass from 4.14.1 to 5.0.0
Bumps [node-sass](https://github.com/sass/node-sass) from 4.14.1 to 5.0.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.14.1...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 10:14:15 +00:00
dependabot-preview[bot] 420811cf2d
Merge pull request #1108 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.3.0 2020-11-09 10:11:29 +00:00
dependabot-preview[bot] 15724a01ca
Merge pull request #1107 from MoePlayer/dependabot/npm_and_yarn/eslint-7.13.0 2020-11-09 10:10:44 +00:00
dependabot-preview[bot] 75e399a9fb
chore(deps-dev): bump mini-css-extract-plugin from 1.2.1 to 1.3.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 10:00:13 +00:00
dependabot-preview[bot] 8208f1aeaa
chore(deps-dev): bump eslint from 7.12.1 to 7.13.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.12.1 to 7.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.12.1...v7.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 09:59:47 +00:00
dependabot-preview[bot] a19d910ef7
Merge pull request #1105 from MoePlayer/dependabot/npm_and_yarn/css-loader-5.0.1 2020-11-05 09:18:04 +00:00
dependabot-preview[bot] 0218c244d0
chore(deps-dev): bump css-loader from 5.0.0 to 5.0.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v5.0.0...v5.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 09:02:13 +00:00
dependabot-preview[bot] 0f2dd07152
Merge pull request #1102 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.5 2020-11-03 09:23:56 +00:00
dependabot-preview[bot] e1956d1b5a
chore(deps-dev): bump sass-loader from 10.0.4 to 10.0.5
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.4 to 10.0.5.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.4...v10.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 09:04:18 +00:00
Churros 085921d155 feat: added translate in korean. 2020-11-02 22:53:06 +09:00
dependabot-preview[bot] 75b3d183ec
Merge pull request #1096 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.2.0 2020-10-29 19:06:25 +00:00
dependabot-preview[bot] 6711778106
chore(deps-dev): bump file-loader from 6.1.1 to 6.2.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.1.1...v6.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 17:50:41 +00:00
dependabot-preview[bot] 1487355914
Merge pull request #1098 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.2.1 2020-10-28 22:35:46 +00:00
dependabot-preview[bot] 9b4ada165c
Merge pull request #1097 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.15.0 2020-10-28 21:22:45 +00:00
dependabot-preview[bot] 35cf822849
chore(deps-dev): bump mini-css-extract-plugin from 1.2.0 to 1.2.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.2.0...v1.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 17:32:14 +00:00
dependabot-preview[bot] f5208a31d7
chore(deps-dev): bump eslint-config-prettier from 6.14.0 to 6.15.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.14.0...v6.15.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 17:31:35 +00:00
dependabot-preview[bot] f5022545a1
Merge pull request #1095 from MoePlayer/dependabot/npm_and_yarn/eslint-7.12.1 2020-10-27 04:38:17 +00:00
dependabot-preview[bot] 08aea6d4f0
chore(deps-dev): bump eslint from 7.12.0 to 7.12.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.12.0...v7.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-27 03:58:26 +00:00
dependabot-preview[bot] d811afff37
Merge pull request #1093 from MoePlayer/dependabot/npm_and_yarn/axios-0.21.0 2020-10-25 02:54:43 +00:00
dependabot-preview[bot] 2e0eb6fae8
chore(deps): bump axios from 0.20.0 to 0.21.0
Bumps [axios](https://github.com/axios/axios) from 0.20.0 to 0.21.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.20.0...v0.21.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 02:52:16 +00:00
dependabot-preview[bot] 6fca6886a0
Merge pull request #1092 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.2.0 2020-10-24 05:26:33 +00:00
dependabot-preview[bot] 7b7579f8d4
Merge pull request #1091 from MoePlayer/dependabot/npm_and_yarn/promise-polyfill-8.2.0 2020-10-24 05:25:11 +00:00
dependabot-preview[bot] 6f65413e4c
Merge pull request #1090 from MoePlayer/dependabot/npm_and_yarn/eslint-7.12.0 2020-10-24 05:21:32 +00:00
dependabot-preview[bot] af284ea2a0
Merge pull request #1089 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.4 2020-10-24 05:20:20 +00:00
dependabot-preview[bot] e1aafea865
chore(deps-dev): bump mini-css-extract-plugin from 1.1.1 to 1.2.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.1.1...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:15:15 +00:00
dependabot-preview[bot] 7195618ae2
chore(deps): bump promise-polyfill from 8.1.3 to 8.2.0
Bumps [promise-polyfill](https://github.com/taylorhakes/promise-polyfill) from 8.1.3 to 8.2.0.
- [Release notes](https://github.com/taylorhakes/promise-polyfill/releases)
- [Changelog](https://github.com/taylorhakes/promise-polyfill/blob/master/CHANGELOG.md)
- [Commits](https://github.com/taylorhakes/promise-polyfill/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:14:48 +00:00
dependabot-preview[bot] 82c7f622ee
chore(deps-dev): bump eslint from 7.11.0 to 7.12.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.11.0 to 7.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.11.0...v7.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:14:39 +00:00
dependabot-preview[bot] 4fcec9e7d5
chore(deps-dev): bump sass-loader from 10.0.3 to 10.0.4
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.3 to 10.0.4.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.3...v10.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-24 05:13:38 +00:00
dependabot-preview[bot] 37661934e9
Merge pull request #1087 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.14.0 2020-10-22 07:51:58 +00:00
dependabot-preview[bot] 1a6745b60b
chore(deps-dev): bump eslint-config-prettier from 6.13.0 to 6.14.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.13.0 to 6.14.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.13.0...v6.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-22 07:49:22 +00:00
dependabot-preview[bot] c291359b76
Merge pull request #1086 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.1.1 2020-10-21 14:53:45 +00:00
dependabot-preview[bot] e2e68269b5
chore(deps-dev): bump mini-css-extract-plugin from 1.1.0 to 1.1.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.1.0...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-21 14:35:13 +00:00
dependabot-preview[bot] 909482474a
Merge pull request #1084 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.1.0 2020-10-19 22:52:57 +00:00
dependabot-preview[bot] bc18d3e7a6
chore(deps-dev): bump mini-css-extract-plugin from 1.0.0 to 1.1.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.0.0...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-19 22:50:07 +00:00
dependabot-preview[bot] cafdf5c7ef
Merge pull request #1078 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.12.1 2020-10-18 06:51:27 +00:00
dependabot-preview[bot] a12f2e6c5c
chore(deps-dev): bump @babel/preset-env from 7.12.0 to 7.12.1
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.1/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-18 06:48:08 +00:00
dependabot-preview[bot] 196cfda526
Merge pull request #1080 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.7.1 2020-10-17 10:22:49 +00:00
dependabot-preview[bot] 2bc77eaaac
chore(deps-dev): bump @vuepress/plugin-pwa from 1.7.0 to 1.7.1
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:19:22 +00:00
dependabot-preview[bot] 0f311927be
Merge pull request #1079 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.7.1 2020-10-17 10:04:39 +00:00
dependabot-preview[bot] c6ec37a8ab
Merge pull request #1075 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.12.3 2020-10-17 10:02:53 +00:00
dependabot-preview[bot] 03e1ce657f
chore(deps-dev): bump vuepress from 1.7.0 to 1.7.1
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:02:10 +00:00
dependabot-preview[bot] 033e3c7b66
chore(deps-dev): bump @babel/core from 7.12.0 to 7.12.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.0 to 7.12.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 10:00:14 +00:00
dependabot-preview[bot] 3c1272fd81
Merge pull request #1077 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.7.1 2020-10-17 09:29:06 +00:00
dependabot-preview[bot] 08fcd8d501
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-17 09:26:36 +00:00
dependabot-preview[bot] 1c57d732b5
Merge pull request #1076 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.13.0 2020-10-16 21:35:01 +00:00
dependabot-preview[bot] 27c4ceafd1
Merge pull request #1074 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.7.1 2020-10-16 21:31:24 +00:00
dependabot-preview[bot] d1e973e38c
chore(deps-dev): bump eslint-config-prettier from 6.12.0 to 6.13.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.12.0 to 6.13.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.12.0...v6.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 21:27:42 +00:00
dependabot-preview[bot] 8dfdb62e8a
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.7.0 to 1.7.1
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.1/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 21:26:51 +00:00
dependabot-preview[bot] 5846b9f075
Merge pull request #1072 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.12.0 2020-10-15 21:27:32 +00:00
dependabot-preview[bot] 1c0608e7f0
chore(deps-dev): bump @babel/core from 7.11.6 to 7.12.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.6 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 21:25:01 +00:00
dependabot-preview[bot] 2502f47028
Merge pull request #1071 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.12.0 2020-10-15 13:50:57 +00:00
dependabot-preview[bot] 15eb261c70
chore(deps-dev): bump @babel/preset-env from 7.11.5 to 7.12.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.5 to 7.12.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 13:44:12 +00:00
dependabot-preview[bot] 6c98e09f84
Merge pull request #1067 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.7.0 2020-10-14 07:56:38 +00:00
dependabot-preview[bot] a7baa022fb
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:51:17 +00:00
dependabot-preview[bot] 6da3cf9d6d
Merge pull request #1069 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.7.0 2020-10-14 07:34:15 +00:00
dependabot-preview[bot] 3b235dcdfe
chore(deps-dev): bump @vuepress/plugin-pwa from 1.6.0 to 1.7.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:26:58 +00:00
dependabot-preview[bot] efd0bd3a2e
Merge pull request #1070 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.7.0 2020-10-14 07:22:29 +00:00
dependabot-preview[bot] 3cee54bab1
Merge pull request #1068 from MoePlayer/dependabot/npm_and_yarn/css-loader-5.0.0 2020-10-14 07:20:26 +00:00
dependabot-preview[bot] 528a2bf01d
Merge pull request #1066 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.7.0 2020-10-14 07:18:17 +00:00
dependabot-preview[bot] 4c948699ee
Merge pull request #1065 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.1.0 2020-10-14 07:18:02 +00:00
dependabot-preview[bot] 2f553d2316
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.6.0 to 1.7.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:17:32 +00:00
dependabot-preview[bot] fd887d9893
chore(deps-dev): bump css-loader from 4.3.0 to 5.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.3.0 to 5.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.3.0...v5.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:16:12 +00:00
dependabot-preview[bot] 42c422b17d
chore(deps-dev): bump vuepress from 1.6.0 to 1.7.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.7.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:15:22 +00:00
dependabot-preview[bot] c9a0d70658
chore(deps-dev): bump pretty-quick from 3.0.2 to 3.1.0
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.2...v3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-14 07:14:47 +00:00
dependabot-preview[bot] 3317ddf93b
Merge pull request #1062 from MoePlayer/dependabot/npm_and_yarn/prismjs-1.22.0 2020-10-11 02:01:05 +00:00
dependabot-preview[bot] dc4297bfd5
chore(deps): [security] bump prismjs from 1.16.0 to 1.22.0
Bumps [prismjs](https://github.com/PrismJS/prism) from 1.16.0 to 1.22.0. **This update includes a security fix.**
- [Release notes](https://github.com/PrismJS/prism/releases)
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PrismJS/prism/compare/v1.16.0...v1.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-11 01:57:54 +00:00
dependabot-preview[bot] 1a2b37bc00
Merge pull request #1057 from MoePlayer/dependabot/npm_and_yarn/url-loader-4.1.1 2020-10-10 09:49:21 +00:00
dependabot-preview[bot] a256b40122
chore(deps-dev): bump url-loader from 4.1.0 to 4.1.1
Bumps [url-loader](https://github.com/webpack-contrib/url-loader) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/url-loader/releases)
- [Changelog](https://github.com/webpack-contrib/url-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/url-loader/compare/v4.1.0...v4.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-10 09:46:31 +00:00
dependabot-preview[bot] 2fee037428
Merge pull request #1056 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-1.0.0 2020-10-09 22:25:33 +00:00
dependabot-preview[bot] 79a393155c
Merge pull request #1054 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.1.1 2020-10-09 22:24:54 +00:00
dependabot-preview[bot] 503a5a2e22
Merge pull request #1059 from MoePlayer/dependabot/npm_and_yarn/style-loader-2.0.0 2020-10-09 22:20:22 +00:00
dependabot-preview[bot] 07baf516e4
Merge pull request #1058 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.1.1 2020-10-09 22:19:54 +00:00
dependabot-preview[bot] 8f23d225ba
Merge pull request #1060 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.3 2020-10-09 22:18:09 +00:00
dependabot-preview[bot] 2141d6789c
Merge pull request #1055 from MoePlayer/dependabot/npm_and_yarn/eslint-7.11.0 2020-10-09 22:13:49 +00:00
dependabot-preview[bot] d03692a61b
chore(deps-dev): bump sass-loader from 10.0.2 to 10.0.3
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.2...v10.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:50:55 +00:00
dependabot-preview[bot] 21ba2d905a
chore(deps-dev): bump style-loader from 1.3.0 to 2.0.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.3.0 to 2.0.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.3.0...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:50:46 +00:00
dependabot-preview[bot] 2ec8274b7e
chore(deps-dev): bump file-loader from 6.1.0 to 6.1.1
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.1.0...v6.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:49:52 +00:00
dependabot-preview[bot] 4bee9ff634
chore(deps-dev): bump mini-css-extract-plugin from 0.12.0 to 1.0.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.12.0 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.12.0...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:48:50 +00:00
dependabot-preview[bot] 4ddacfd622
chore(deps-dev): bump eslint from 7.10.0 to 7.11.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.10.0 to 7.11.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.10.0...v7.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:48:28 +00:00
dependabot-preview[bot] 45b84bd0e1
chore(deps-dev): bump exports-loader from 1.1.0 to 1.1.1
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.1.0...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 21:47:57 +00:00
dependabot-preview[bot] 36793d80b3
Merge pull request #1050 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.12.0 2020-10-08 18:34:12 +00:00
dependabot-preview[bot] 5307f7ed58
chore(deps-dev): bump mini-css-extract-plugin from 0.11.3 to 0.12.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.3 to 0.12.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.3...v0.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-08 18:31:18 +00:00
dependabot-preview[bot] f09099e23f
Merge pull request #1049 from MoePlayer/dependabot/npm_and_yarn/style-loader-1.3.0 2020-10-05 22:32:10 +00:00
dependabot-preview[bot] c9b90da7a9
chore(deps-dev): bump style-loader from 1.2.1 to 1.3.0
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.2.1...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 22:29:20 +00:00
dependabot-preview[bot] 49439b612a
Merge pull request #1046 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.3 2020-10-03 06:28:37 +00:00
dependabot-preview[bot] be44e7cc3f
chore(deps-dev): bump mini-css-extract-plugin from 0.11.2 to 0.11.3
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.2 to 0.11.3.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.2...v0.11.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-03 06:26:08 +00:00
dependabot-preview[bot] 9ca7a0244e
Merge pull request #1045 from MoePlayer/dependabot/npm_and_yarn/eslint-7.10.0 2020-09-28 22:03:52 +00:00
dependabot-preview[bot] 9036004d87
chore(deps-dev): bump eslint from 7.9.0 to 7.10.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.9.0 to 7.10.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.9.0...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 22:01:22 +00:00
dependabot-preview[bot] 64cebdc615
Merge pull request #1042 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.6.0 2020-09-26 01:10:23 +00:00
dependabot-preview[bot] 1f02c756b5
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.4 to 1.6.0
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 01:03:48 +00:00
dependabot-preview[bot] b9c74bb6f8
Merge pull request #1039 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.6.0 2020-09-26 01:01:36 +00:00
dependabot-preview[bot] 7253d0d4dd
Merge pull request #1040 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.6.0 2020-09-26 01:00:46 +00:00
dependabot-preview[bot] e19fe543bb
Merge pull request #1041 from MoePlayer/dependabot/npm_and_yarn/eslint-config-prettier-6.12.0 2020-09-26 00:56:51 +00:00
dependabot-preview[bot] 29eb5a7e49
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.4 to 1.6.0
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:56:39 +00:00
dependabot-preview[bot] de083cda54
chore(deps-dev): bump vuepress from 1.5.3 to 1.6.0
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.3 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:56:33 +00:00
dependabot-preview[bot] c54e3a01d1
Merge pull request #1038 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.6.0 2020-09-26 00:54:25 +00:00
dependabot-preview[bot] 04fec4dac9
chore(deps-dev): bump eslint-config-prettier from 6.11.0 to 6.12.0
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.11.0 to 6.12.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.11.0...v6.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:52:46 +00:00
dependabot-preview[bot] c844cf2844
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.4 to 1.6.0.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.6.0/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-26 00:51:17 +00:00
dependabot-preview[bot] 89b2a4a040
Merge pull request #1037 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.2 2020-09-18 06:13:35 +00:00
dependabot-preview[bot] 2e5b4f2c28
chore(deps-dev): bump webpack from 4.44.1 to 4.44.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.1 to 4.44.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.1...v4.44.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-18 06:10:50 +00:00
dependabot-preview[bot] 836ddcac38
Merge pull request #1036 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.2 2020-09-16 06:34:04 +00:00
dependabot-preview[bot] a4f7dbbacb
chore(deps-dev): bump prettier from 2.1.1 to 2.1.2
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.1...2.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-16 06:31:07 +00:00
dependabot-preview[bot] 5fac3769cc
Merge pull request #1034 from MoePlayer/dependabot/npm_and_yarn/eslint-7.9.0 2020-09-14 22:08:11 +00:00
dependabot-preview[bot] e329078e3e
Merge pull request #1033 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.2 2020-09-14 22:03:42 +00:00
dependabot-preview[bot] a504f42fba
chore(deps-dev): bump eslint from 7.8.1 to 7.9.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.8.1 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.8.1...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 22:01:59 +00:00
dependabot-preview[bot] 6654289904
chore(deps-dev): bump mini-css-extract-plugin from 0.11.1 to 0.11.2
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.1 to 0.11.2.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.1...v0.11.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 22:01:13 +00:00
dependabot-preview[bot] 8d29caf5e5
Merge pull request #1031 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.2 2020-09-11 06:16:00 +00:00
dependabot-preview[bot] 4d6f51ecac
chore(deps-dev): bump pretty-quick from 3.0.1 to 3.0.2
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 06:11:48 +00:00
dependabot-preview[bot] b927fc4cf5
Merge pull request #1029 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.1 2020-09-10 06:14:47 +00:00
dependabot-preview[bot] 1aa15920dd
chore(deps-dev): bump pretty-quick from 3.0.0 to 3.0.1
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-10 06:11:44 +00:00
dependabot-preview[bot] a688b3d5dc
Merge pull request #1028 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.1 2020-09-09 06:38:11 +00:00
dependabot-preview[bot] 2c0233e81d
Merge pull request #1027 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.3.0 2020-09-09 06:37:23 +00:00
dependabot-preview[bot] f169adb0e4
chore(deps-dev): bump mini-css-extract-plugin from 0.11.0 to 0.11.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.11.0 to 0.11.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.11.0...v0.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 06:35:06 +00:00
dependabot-preview[bot] 709ef55984
chore(deps-dev): bump css-loader from 4.2.2 to 4.3.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.2...v4.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 06:34:27 +00:00
dependabot-preview[bot] 7434f84603
Merge pull request #1024 from MoePlayer/dependabot/npm_and_yarn/http-proxy-1.18.1 2020-09-05 06:25:43 +00:00
dependabot-preview[bot] 4f0ab275d9
chore(deps): [security] bump http-proxy from 1.17.0 to 1.18.1
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.17.0 to 1.18.1. **This update includes a security fix.**
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.17.0...1.18.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-05 06:22:58 +00:00
dependabot-preview[bot] 7bbfe712bf
Merge pull request #1022 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.2 2020-09-04 06:16:30 +00:00
dependabot-preview[bot] a0de38ece9
Merge pull request #1021 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.6 2020-09-04 06:16:17 +00:00
dependabot-preview[bot] e8121329bd
Merge pull request #1020 from MoePlayer/dependabot/npm_and_yarn/clean-css-4.1.11 2020-09-04 06:14:32 +00:00
dependabot-preview[bot] 3eb9f73177
chore(deps-dev): bump sass-loader from 10.0.1 to 10.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.1 to 10.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.1...v10.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:14:05 +00:00
dependabot-preview[bot] f446be76f3
chore(deps-dev): bump @babel/core from 7.11.5 to 7.11.6
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.5 to 7.11.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.6/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:13:39 +00:00
dependabot-preview[bot] 7e2044a262
chore(deps): [security] bump clean-css from 4.1.9 to 4.1.11
Bumps [clean-css](https://github.com/jakubpawlowicz/clean-css) from 4.1.9 to 4.1.11. **This update includes a security fix.**
- [Release notes](https://github.com/jakubpawlowicz/clean-css/releases)
- [Changelog](https://github.com/jakubpawlowicz/clean-css/blob/master/History.md)
- [Commits](https://github.com/jakubpawlowicz/clean-css/compare/v4.1.9...v4.1.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-04 06:11:01 +00:00
dependabot-preview[bot] f12f3bda9b
Merge pull request #1016 from MoePlayer/dependabot/npm_and_yarn/eslint-7.8.1 2020-09-02 06:41:08 +00:00
dependabot-preview[bot] 7822f531dd
chore(deps-dev): bump eslint from 7.8.0 to 7.8.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.8.0 to 7.8.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.8.0...v7.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 06:38:18 +00:00
dependabot-preview[bot] de075a1040
Merge pull request #1013 from MoePlayer/dependabot/npm_and_yarn/file-loader-6.1.0 2020-08-31 22:31:30 +00:00
dependabot-preview[bot] 050c11f41f
chore(deps-dev): bump file-loader from 6.0.0 to 6.1.0
Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/webpack-contrib/file-loader/releases)
- [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/file-loader/compare/v6.0.0...v6.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:27:30 +00:00
dependabot-preview[bot] 641afe66f8
Merge pull request #1012 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.5 2020-08-31 22:26:49 +00:00
dependabot-preview[bot] cb904275ad
Merge pull request #1011 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.11.5 2020-08-31 22:26:41 +00:00
dependabot-preview[bot] bc3cabff81
Merge pull request #1010 from MoePlayer/dependabot/npm_and_yarn/eslint-7.8.0 2020-08-31 22:25:20 +00:00
dependabot-preview[bot] f80ecb7ee0
chore(deps-dev): bump @babel/core from 7.11.4 to 7.11.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.4 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:23:42 +00:00
dependabot-preview[bot] e84c5bebed
chore(deps-dev): bump @babel/preset-env from 7.11.0 to 7.11.5
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:23:21 +00:00
dependabot-preview[bot] 2eeaf34c14
chore(deps-dev): bump eslint from 7.7.0 to 7.8.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.7.0 to 7.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.7.0...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 22:22:44 +00:00
OldTaoge c49b1c310f 适配commit #cd6afd7f optimize danmaku request 2020-08-30 10:17:28 +08:00
dependabot-preview[bot] b99ec5c0a9
Merge pull request #1005 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.11.0 2020-08-28 06:32:21 +00:00
dependabot-preview[bot] 357c914c14
chore(deps-dev): bump mini-css-extract-plugin from 0.10.0 to 0.11.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.10.0...v0.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-28 06:29:43 +00:00
dependabot-preview[bot] 57b2439c3e
Merge pull request #1003 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.1 2020-08-26 06:40:35 +00:00
dependabot-preview[bot] f5b02ec35b
Merge pull request #1002 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.1 2020-08-26 06:39:40 +00:00
dependabot-preview[bot] aad75d5c8f
chore(deps-dev): bump prettier from 2.1.0 to 2.1.1
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.1.0...2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 06:37:25 +00:00
dependabot-preview[bot] b5bbb6f8e5
chore(deps-dev): bump sass-loader from 10.0.0 to 10.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 10.0.0 to 10.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v10.0.0...v10.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-26 06:36:42 +00:00
dependabot-preview[bot] 82047a7f14
Merge pull request #1001 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.4 2020-08-24 22:59:54 +00:00
dependabot-preview[bot] 27f257cb87
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.3 to 1.5.4
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:56:19 +00:00
dependabot-preview[bot] 92fc0543c8
Merge pull request #999 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.4 2020-08-24 22:54:23 +00:00
dependabot-preview[bot] 4c64820020
Merge pull request #998 from MoePlayer/dependabot/npm_and_yarn/sass-loader-10.0.0 2020-08-24 22:49:04 +00:00
dependabot-preview[bot] dfaa8568cc
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.3 to 1.5.4
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:47:50 +00:00
dependabot-preview[bot] 70669f5764
Merge pull request #997 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.2 2020-08-24 22:47:34 +00:00
dependabot-preview[bot] fa391322d7
Merge pull request #996 from MoePlayer/dependabot/npm_and_yarn/prettier-2.1.0 2020-08-24 22:46:32 +00:00
dependabot-preview[bot] ab0fdc3831
Merge pull request #995 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.4 2020-08-24 22:45:51 +00:00
dependabot-preview[bot] 9816e6769a
chore(deps-dev): bump sass-loader from 9.0.3 to 10.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.3 to 10.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.3...v10.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:42:52 +00:00
dependabot-preview[bot] 875a15f889
chore(deps-dev): bump css-loader from 4.2.1 to 4.2.2
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.1...v4.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:42:27 +00:00
dependabot-preview[bot] 463f4663d3
chore(deps-dev): bump prettier from 2.0.5 to 2.1.0
Bumps [prettier](https://github.com/prettier/prettier) from 2.0.5 to 2.1.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.0.5...2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:41:58 +00:00
dependabot-preview[bot] 2c83d1f68f
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.4/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 22:41:49 +00:00
dependabot-preview[bot] 8eeffd67b6
Merge pull request #992 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.4 2020-08-21 19:16:41 +00:00
dependabot-preview[bot] 635af96e3a
Merge pull request #991 from MoePlayer/dependabot/npm_and_yarn/pretty-quick-3.0.0 2020-08-21 19:15:30 +00:00
dependabot-preview[bot] 73d2ce93d6
Merge pull request #990 from MoePlayer/dependabot/npm_and_yarn/axios-0.20.0 2020-08-21 19:14:57 +00:00
dependabot-preview[bot] e7143ca139
chore(deps-dev): bump @babel/core from 7.11.1 to 7.11.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.1 to 7.11.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:12:02 +00:00
dependabot-preview[bot] 02bdefa411
chore(deps-dev): bump pretty-quick from 2.0.1 to 3.0.0
Bumps [pretty-quick](https://github.com/azz/pretty-quick) from 2.0.1 to 3.0.0.
- [Release notes](https://github.com/azz/pretty-quick/releases)
- [Commits](https://github.com/azz/pretty-quick/compare/v2.0.1...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:11:31 +00:00
dependabot-preview[bot] 6c268945b5
chore(deps): bump axios from 0.19.2 to 0.20.0
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.20.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 19:11:04 +00:00
iAladdin f1c84b3680 Fixed chrome will fake safe user-agent 2020-08-21 19:46:20 +08:00
iAladdin 93890fb94e Fixed the issue of not being able to Airplay in some scenarios. 2020-08-21 17:29:00 +08:00
dependabot-preview[bot] 2581f56502
Merge pull request #986 from MoePlayer/dependabot/npm_and_yarn/dot-prop-4.2.1 2020-08-18 18:25:47 +00:00
dependabot-preview[bot] d9caf88869
chore(deps): [security] bump dot-prop from 4.2.0 to 4.2.1
Bumps [dot-prop](https://github.com/sindresorhus/dot-prop) from 4.2.0 to 4.2.1. **This update includes a security fix.**
- [Release notes](https://github.com/sindresorhus/dot-prop/releases)
- [Commits](https://github.com/sindresorhus/dot-prop/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-18 18:23:04 +00:00
dependabot-preview[bot] c91119cad2
Merge pull request #985 from MoePlayer/dependabot/npm_and_yarn/eslint-7.7.0 2020-08-17 15:35:27 +00:00
dependabot-preview[bot] 7e76076702
chore(deps-dev): bump eslint from 7.6.0 to 7.7.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.6.0 to 7.7.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.6.0...v7.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-17 15:32:28 +00:00
咸鱼大暴走 3c6f3c2469
fix: screenshot 无法获取 dataURL
`dataURL` 的获取在 `toBlob` 的回调方法中,原始方法触发 `screenshot` 时,传递的 `dataURL ` 始终为 `undefined`
2020-08-13 10:56:08 +08:00
dependabot-preview[bot] 5308445c93
Merge pull request #976 from MoePlayer/dependabot/npm_and_yarn/mini-css-extract-plugin-0.10.0 2020-08-10 15:55:59 +00:00
dependabot-preview[bot] eb266daa98
chore(deps-dev): bump mini-css-extract-plugin from 0.9.0 to 0.10.0
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v0.9.0...v0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 15:53:18 +00:00
dependabot-preview[bot] 0f87088618
Merge pull request #973 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.1 2020-08-07 12:46:41 +00:00
dependabot-preview[bot] 71e196e623
chore(deps-dev): bump css-loader from 4.2.0 to 4.2.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.0...v4.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-07 12:43:31 +00:00
dependabot-preview[bot] f59599e991
Merge pull request #969 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.3 2020-08-06 12:49:34 +00:00
dependabot-preview[bot] 07f2052a23
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.2 to 1.5.3
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:47:09 +00:00
dependabot-preview[bot] e283c38359
Merge pull request #971 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.3 2020-08-06 12:44:59 +00:00
dependabot-preview[bot] 313225c3d6
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:42:36 +00:00
dependabot-preview[bot] c3979f77a5
Merge pull request #970 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.3 2020-08-06 12:40:24 +00:00
dependabot-preview[bot] 3a9d799f76
Merge pull request #968 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.3 2020-08-06 12:37:43 +00:00
dependabot-preview[bot] ef817273bf
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.2 to 1.5.3
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:35:51 +00:00
dependabot-preview[bot] abb5a719a9
chore(deps-dev): bump vuepress from 1.5.2 to 1.5.3
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.3/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-06 12:34:55 +00:00
dependabot-preview[bot] 49b3b73b10
Merge pull request #966 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.1 2020-08-05 13:49:50 +00:00
dependabot-preview[bot] a11d86e3b7
Merge pull request #965 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.3 2020-08-05 13:49:20 +00:00
dependabot-preview[bot] 265179f6da
chore(deps-dev): bump @babel/core from 7.11.0 to 7.11.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.0 to 7.11.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.1/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 13:46:49 +00:00
dependabot-preview[bot] fc70fd6191
chore(deps-dev): bump sass-loader from 9.0.1 to 9.0.3
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.1 to 9.0.3.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.1...v9.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-05 13:46:26 +00:00
dependabot-preview[bot] d45474a3b0
Merge pull request #964 from MoePlayer/dependabot/npm_and_yarn/eslint-7.6.0 2020-08-03 17:38:28 +00:00
dependabot-preview[bot] e673a670ac
chore(deps-dev): bump eslint from 7.5.0 to 7.6.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.5.0 to 7.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.5.0...v7.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 17:35:52 +00:00
dependabot-preview[bot] 50c41b58d1
Merge pull request #960 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.11.0 2020-07-31 22:16:06 +00:00
dependabot-preview[bot] cdb6a97154
Merge pull request #961 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.6 2020-07-31 22:13:27 +00:00
dependabot-preview[bot] 7cf344e441
chore(deps-dev): bump @babel/preset-env from 7.10.4 to 7.11.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.4 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:13:20 +00:00
dependabot-preview[bot] 6f81bf379e
Merge pull request #959 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.2.0 2020-07-31 22:11:33 +00:00
dependabot-preview[bot] b3d41bd4e3
Merge pull request #958 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.11.0 2020-07-31 22:11:08 +00:00
dependabot-preview[bot] c67bed8b8a
chore(deps-dev): bump autoprefixer from 9.8.5 to 9.8.6
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.5 to 9.8.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.5...9.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:08:38 +00:00
dependabot-preview[bot] 84b46673d1
chore(deps-dev): bump css-loader from 4.1.1 to 4.2.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.1.1...v4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:07:36 +00:00
dependabot-preview[bot] 9a6dc9387b
chore(deps-dev): bump @babel/core from 7.10.5 to 7.11.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.5 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:07:15 +00:00
dependabot-preview[bot] fb3cae236a
Merge pull request #953 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.1 2020-07-30 14:06:20 +00:00
dependabot-preview[bot] 48155a7703
Merge pull request #954 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.1.1 2020-07-30 14:05:50 +00:00
dependabot-preview[bot] dad0f0dd0d
chore(deps-dev): bump css-loader from 4.0.0 to 4.1.1
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.0.0 to 4.1.1.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.0.0...v4.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 14:03:05 +00:00
dependabot-preview[bot] 30d89093f0
chore(deps-dev): bump webpack from 4.44.0 to 4.44.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.0 to 4.44.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.0...v4.44.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 14:02:41 +00:00
dependabot-preview[bot] b63566320c
Merge pull request #952 from MoePlayer/dependabot/npm_and_yarn/elliptic-6.5.3 2020-07-29 21:29:04 +00:00
dependabot-preview[bot] 8a61b7d7f4
chore(deps): [security] bump elliptic from 6.4.0 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.0 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.0...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 21:25:57 +00:00
dependabot-preview[bot] fa57ac9213
Merge pull request #950 from MoePlayer/dependabot/npm_and_yarn/css-loader-4.0.0 2020-07-27 14:17:47 +00:00
dependabot-preview[bot] bddfc518e1
Merge pull request #949 from MoePlayer/dependabot/npm_and_yarn/webpack-4.44.0 2020-07-27 14:16:16 +00:00
dependabot-preview[bot] 5b3cfa5751
chore(deps-dev): bump css-loader from 3.6.0 to 4.0.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v4.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 14:13:42 +00:00
dependabot-preview[bot] 2fabbaa077
chore(deps-dev): bump webpack from 4.43.0 to 4.44.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 14:13:09 +00:00
Dimitrios Panteleimon Giakatos ee984dd3e6 fix commit 2020-07-24 12:09:08 +03:00
Dimitrios Panteleimon Giakatos 4be850db09 Merge remote-tracking branch 'origin/master' 2020-07-24 11:49:26 +03:00
Dimitrios Panteleimon Giakatos 5a32061c1e fix chromecast button 2020-07-24 11:49:12 +03:00
Dimitrios Panteleimon Giakatos 7da6113c8f fix chromecast button 2020-07-24 11:37:27 +03:00
Dimitrios Panteleimon Giakatos 44a3cd923d added chromecast support 2020-07-23 21:51:03 +03:00
dependabot-preview[bot] cb155ab8ae
Merge pull request #940 from MoePlayer/dependabot/npm_and_yarn/eslint-7.5.0 2020-07-20 14:50:55 +00:00
dependabot-preview[bot] fedbc69805
chore(deps-dev): bump eslint from 7.4.0 to 7.5.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.4.0...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 14:47:51 +00:00
dependabot-preview[bot] e7775b3d93
Merge pull request #936 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.5 2020-07-15 12:45:03 +00:00
dependabot-preview[bot] 8ffd67753a
chore(deps-dev): bump @babel/core from 7.10.4 to 7.10.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.4 to 7.10.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.5/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 12:41:50 +00:00
dependabot-preview[bot] a9ebfebc17
Merge pull request #932 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.5 2020-07-13 14:12:11 +00:00
dependabot-preview[bot] c6404c96c3
chore(deps-dev): bump autoprefixer from 9.8.4 to 9.8.5
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.4 to 9.8.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.4...9.8.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-13 14:08:40 +00:00
dependabot-preview[bot] 0751a1b73d
Merge pull request #929 from MoePlayer/dependabot/npm_and_yarn/eslint-7.4.0 2020-07-06 14:12:35 +00:00
dependabot-preview[bot] a6f09ca00f
Merge pull request #928 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.1 2020-07-06 14:12:10 +00:00
dependabot-preview[bot] 59e3e77e34
chore(deps-dev): bump eslint from 7.3.1 to 7.4.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.3.1 to 7.4.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.3.1...v7.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-06 14:08:59 +00:00
dependabot-preview[bot] 840512b553
chore(deps-dev): bump sass-loader from 9.0.0 to 9.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v9.0.0...v9.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-06 14:08:29 +00:00
dependabot-preview[bot] 1e27d82a52
Merge pull request #920 from MoePlayer/dependabot/npm_and_yarn/sass-loader-9.0.0 2020-07-03 12:24:37 +00:00
dependabot-preview[bot] d975e56b80
chore(deps-dev): bump sass-loader from 8.0.2 to 9.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.2 to 9.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-03 12:22:14 +00:00
dependabot-preview[bot] 3120e0216a
Merge pull request #918 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.4 2020-07-01 15:49:09 +00:00
dependabot-preview[bot] e3f9a8c514
chore(deps-dev): bump @babel/core from 7.10.3 to 7.10.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:46:10 +00:00
dependabot-preview[bot] 01d9ff6b54
Merge pull request #917 from MoePlayer/dependabot/npm_and_yarn/balloon-css-1.2.0 2020-07-01 15:43:48 +00:00
dependabot-preview[bot] 245d0aaed7
Merge pull request #916 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.4 2020-07-01 15:43:35 +00:00
dependabot-preview[bot] e4ed906551
chore(deps): bump balloon-css from 1.1.0 to 1.2.0
Bumps [balloon-css](https://github.com/kazzkiq/balloon.css) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/kazzkiq/balloon.css/releases)
- [Commits](https://github.com/kazzkiq/balloon.css/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:40:17 +00:00
dependabot-preview[bot] 5d6e58361d
chore(deps-dev): bump @babel/preset-env from 7.10.3 to 7.10.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.3 to 7.10.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.4/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 15:39:54 +00:00
DIYgod 284c30c1f8
style: format 2020-06-26 00:22:46 +08:00
DIYgod 0029e0b851
Merge pull request #905 from Evilran/patch-1
Update live option control in player.js
2020-06-26 00:22:21 +08:00
DIYgod b64d1e8e4d
Merge pull request #904 from laozhoubuluo/fix/airplay-btn 2020-06-26 00:19:38 +08:00
dependabot-preview[bot] 56534400f8
Merge pull request #912 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.1.0 2020-06-25 09:02:01 +00:00
dependabot-preview[bot] 1307de48dc
chore(deps-dev): bump exports-loader from 1.0.1 to 1.1.0
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.0.1 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.0.1...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 08:59:24 +00:00
dependabot-preview[bot] 56a4e1d2d9
Merge pull request #911 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.4 2020-06-24 09:34:35 +00:00
dependabot-preview[bot] 3c5bab88c0
chore(deps-dev): bump autoprefixer from 9.8.2 to 9.8.4
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.2 to 9.8.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.2...9.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-24 09:32:03 +00:00
dependabot-preview[bot] ae11c1233f
Merge pull request #910 from MoePlayer/dependabot/npm_and_yarn/eslint-7.3.1 2020-06-23 09:33:24 +00:00
dependabot-preview[bot] 22073107ab
chore(deps-dev): bump eslint from 7.3.0 to 7.3.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.3.0...v7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-23 09:30:57 +00:00
dependabot-preview[bot] 3236057389
Merge pull request #908 from MoePlayer/dependabot/npm_and_yarn/babel/preset-env-7.10.3 2020-06-22 10:32:26 +00:00
dependabot-preview[bot] c3c7d05496
chore(deps-dev): bump @babel/preset-env from 7.10.2 to 7.10.3
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:29:51 +00:00
dependabot-preview[bot] 1e6e9cae21
Merge pull request #909 from MoePlayer/dependabot/npm_and_yarn/eslint-7.3.0 2020-06-22 10:29:26 +00:00
dependabot-preview[bot] b54e625841
Merge pull request #907 from MoePlayer/dependabot/npm_and_yarn/babel/core-7.10.3 2020-06-22 10:27:48 +00:00
dependabot-preview[bot] 0d746c206c
Merge pull request #906 from MoePlayer/dependabot/npm_and_yarn/autoprefixer-9.8.2 2020-06-22 10:27:21 +00:00
dependabot-preview[bot] bfcf9104c8
chore(deps-dev): bump eslint from 7.2.0 to 7.3.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.2.0...v7.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:25:46 +00:00
dependabot-preview[bot] 50431e6a9a
chore(deps-dev): bump @babel/core from 7.10.2 to 7.10.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.2 to 7.10.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.10.3/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:24:58 +00:00
dependabot-preview[bot] c23b43e222
chore(deps-dev): bump autoprefixer from 9.8.0 to 9.8.2
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.0 to 9.8.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.0...9.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-22 10:24:19 +00:00
Evilran 5c4b20847b
Update player.js 2020-06-22 00:18:32 +02:00
老周部落 452ef186d9
Fix AirPlay Button Display on Firefox Windows Ver. 2020-06-20 21:57:20 +08:00
dependabot-preview[bot] 7368ee38c0
Merge pull request #902 from MoePlayer/dependabot/npm_and_yarn/webpack-cli-3.3.12 2020-06-19 08:54:05 +00:00
dependabot-preview[bot] aaeaff86d9
chore(deps-dev): bump webpack-cli from 3.3.11 to 3.3.12
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.11 to 3.3.12.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.11...v3.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-19 08:51:02 +00:00
dependabot-preview[bot] af681e6188
Merge pull request #898 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.0.1 2020-06-18 08:50:52 +00:00
dependabot-preview[bot] 060923d416
chore(deps-dev): bump exports-loader from 1.0.0 to 1.0.1
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-18 08:47:01 +00:00
dependabot-preview[bot] 1627587387
Merge pull request #893 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-google-analytics-1.5.2 2020-06-15 11:28:02 +00:00
dependabot-preview[bot] f57b96b4bf
chore(deps-dev): bump @vuepress/plugin-google-analytics
Bumps [@vuepress/plugin-google-analytics](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-google-analytics) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-google-analytics)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 11:23:44 +00:00
dependabot-preview[bot] d05e77b271
Merge pull request #895 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-pwa-1.5.2 2020-06-15 11:21:42 +00:00
dependabot-preview[bot] d018a5ecd0
chore(deps-dev): bump @vuepress/plugin-pwa from 1.5.1 to 1.5.2
Bumps [@vuepress/plugin-pwa](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-pwa) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-pwa)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 11:16:26 +00:00
dependabot-preview[bot] a410918e8e
Merge pull request #896 from MoePlayer/dependabot/npm_and_yarn/eslint-plugin-prettier-3.1.4 2020-06-15 11:00:22 +00:00
dependabot-preview[bot] 2bb61d0cf8
Merge pull request #894 from MoePlayer/dependabot/npm_and_yarn/css-loader-3.6.0 2020-06-15 10:50:02 +00:00
dependabot-preview[bot] 93f02f85be
Merge pull request #891 from MoePlayer/dependabot/npm_and_yarn/vuepress/plugin-back-to-top-1.5.2 2020-06-15 10:38:38 +00:00
dependabot-preview[bot] 4c5567cd6c
Merge pull request #892 from MoePlayer/dependabot/npm_and_yarn/vuepress-1.5.2 2020-06-15 10:35:50 +00:00
dependabot-preview[bot] 3d707712a1
chore(deps-dev): bump eslint-plugin-prettier from 3.1.3 to 3.1.4
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.3...v3.1.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:24:27 +00:00
dependabot-preview[bot] d2bb210af4
chore(deps-dev): bump css-loader from 3.5.3 to 3.6.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:23:17 +00:00
dependabot-preview[bot] 4c00d73742
chore(deps-dev): bump vuepress from 1.5.1 to 1.5.2
Bumps [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/vuepress)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:22:06 +00:00
dependabot-preview[bot] adb57dd5a7
chore(deps-dev): bump @vuepress/plugin-back-to-top from 1.5.1 to 1.5.2
Bumps [@vuepress/plugin-back-to-top](https://github.com/vuejs/vuepress/tree/HEAD/packages/@vuepress/plugin-back-to-top) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/v1.5.2/packages/@vuepress/plugin-back-to-top)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 10:21:41 +00:00
dependabot-preview[bot] 0bb2b6916c
Merge pull request #888 from MoePlayer/dependabot/npm_and_yarn/exports-loader-1.0.0 2020-06-11 09:11:40 +00:00
dependabot-preview[bot] 1c42649b11
chore(deps-dev): bump exports-loader from 0.7.0 to 1.0.0
Bumps [exports-loader](https://github.com/webpack-contrib/exports-loader) from 0.7.0 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/exports-loader/releases)
- [Changelog](https://github.com/webpack-contrib/exports-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/exports-loader/compare/v0.7.0...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-11 09:09:01 +00:00
62 changed files with 18174 additions and 10256 deletions

View File

@ -1,2 +0,0 @@
dist
demo

View File

@ -1,56 +0,0 @@
{
"extends": ["eslint:recommended", "plugin:prettier/recommended"],
"plugins": ["prettier"],
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"env": {
"es6": true,
"browser": true,
"node": true,
},
"rules": {
"block-scoped-var": 1,
"curly": 1,
"eqeqeq": 1,
"no-global-assign": 1,
"no-implicit-globals": 1,
"no-labels": 1,
"no-multi-str": 1,
"comma-spacing": 1,
"comma-style": 1,
"func-call-spacing": 1,
"keyword-spacing": 1,
"linebreak-style": 1,
"no-multiple-empty-lines": 1,
"space-infix-ops": 1,
"arrow-spacing": 1,
"no-var": 1,
"prefer-const": 1,
"no-unsafe-negation": 1,
"array-callback-return": 1,
"dot-notation": 1,
"no-eval": 1,
"no-extend-native": 1,
"no-extra-label": 1,
"semi": 1,
"space-before-blocks": 1,
"space-in-parens": 1,
"space-unary-ops": 1,
"spaced-comment": 1,
"arrow-body-style": 1,
"arrow-parens": 1,
"no-restricted-imports": 1,
"no-duplicate-imports": 1,
"no-useless-computed-key": 1,
"no-useless-rename": 1,
"rest-spread-spacing": 1,
"no-trailing-spaces": 1,
"no-control-regex": 0,
"prettier/prettier": 0,
"no-await-in-loop": 1,
"require-atomic-updates": 0,
"no-prototype-builtins": 0
}
}

4
.husky/pre-commit Executable file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
pnpm exec lint-staged

View File

@ -8,13 +8,11 @@
[![npm](https://img.shields.io/npm/v/dplayer.svg?style=flat-square)](https://www.npmjs.com/package/dplayer)
[![npm](https://img.shields.io/npm/l/dplayer.svg?style=flat-square)](https://github.com/MoePlayer/DPlayer/blob/master/LICENSE)
[![npm](https://img.shields.io/npm/dt/dplayer.svg?style=flat-square)](https://www.npmjs.com/package/dplayer)
[![size](https://badge-size.herokuapp.com/MoePlayer/DPlayer/master/dist/DPlayer.min.js?compression=gzip&style=flat-square)](https://github.com/MoePlayer/DPlayer/tree/master/dist)
[![Travis](https://img.shields.io/travis/MoePlayer/DPlayer.svg?style=flat-square)](https://travis-ci.org/MoePlayer/DPlayer)
[![devDependency Status](https://img.shields.io/david/dev/MoePlayer/dplayer.svg?style=flat-square)](https://david-dm.org/MoePlayer/DPlayer#info=devDependencies)
[![](https://data.jsdelivr.com/v1/package/npm/dplayer/badge)](https://www.jsdelivr.com/package/npm/dplayer)
## Introduction
![image](http://i.imgur.com/207ch36.jpg)
![image](https://i.imgur.com/207ch36.jpg)
DPlayer is a lovely HTML5 danmaku video player to help people build video and danmaku easily.
@ -40,40 +38,24 @@ DPlayer is a lovely HTML5 danmaku video player to help people build video and da
Using DPlayer on your project? [Let me know!](https://github.com/DIYgod/DPlayer/issues/31)
**[Docs](http://dplayer.js.org)**
**[Docs](https://dplayer.diygod.dev/)**
**[中文文档](http://dplayer.js.org/#/zh-Hans/)**
**[中文文档](https://dplayer.diygod.dev/zh/)**
## Thanks
### Special Sponsors
<div>
<a href="https://www.cdnbye.com" target="_blank">
<img height="60px" src="https://cdnbye.oss-cn-beijing.aliyuncs.com/pic/cdnbye-dp.jpeg">
</a>
</div>
### Sponsors
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://i.imgur.com/C2NgugY.png">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
### Sponsors
| [极酷社](https://www.acg.app) |
| :---------------------------: |
### Contributors
<a href="https://github.com/MoePlayer/DPlayer/graphs/contributors"><img src="https://opencollective.com/DPlayer/contributors.svg?width=890" /></a>
## Join the Discussion
- [Telegram Group](https://t.me/adplayer)
## Related Projects
Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
@ -100,11 +82,13 @@ Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlay
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### Other
- [DPlayer-Lite](https://github.com/kn007/DPlayer-Lite): lite version
- [hlsjs-p2p-engine](https://github.com/cdnbye/hlsjs-p2p-engine)
- [hlsjs-p2p-engine](https://github.com/cdnbye/hlsjs-p2p-engine): Let your viewers become your unlimitedly scalable CDN
- [CBPlayer](https://github.com/cdnbye/CBPlayer): Dplayer with CDNBye P2P plugin built in, supporting HLS, MP4 and MPEG-DASH P2P streaming.
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Who use DPlayer?
@ -119,26 +103,34 @@ Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlay
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [oneindex](https://github.com/donwa/oneindex): Onedrive Directory Index
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Donate
DPlayer is an MIT licensed open source project and completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing.
## One-time Donations
You can support DPlayer via donations.
We accept donations through these channels:
### Recurring Donation
- Become a Sponser on [GitHub](https://github.com/sponsors/DIYgod)
- Become a Sponser on [Patreon](https://www.patreon.com/DIYgod)
- Become a Sponser on [爱发电](https://afdian.net/@diygod)
- Contact us directly: i@diygod.me
### One-time Donation
We accept donations via the following ways:
- [WeChat Pay](https://diygod.me/images/wx.jpg)
- [Alipay](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
- [WeChat Pay](https://i.imgur.com/aq6PtWa.png)
- [Alipay](https://i.imgur.com/wv1Pj2k.png)
## Recurring Pledges
Recurring pledges come with exclusive perks, e.g. enabling faster GitHub response, having your name or your company logo listed in the DPlayer GitHub repository and this website.
- Become a backer or sponsor via [Patreon](https://www.patreon.com/DIYgod)
- E-mail us: i#html.love
## Author

View File

@ -65,7 +65,23 @@ function initPlayers() {
thumbnails: 'https://i.loli.net/2019/06/06/5cf8c5d9cec8510758.jpg'
},
subtitle: {
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt'
url: [
{
url: 'https://s-sh-17-dplayercdn.oss.dogecdn.com/hikarunara.vtt',
lang: 'zh-cn',
name: '光',
},
{
url: 'https://gist.githubusercontent.com/samdutton/ca37f3adaf4e23679957b8083e061177/raw/e19399fbccbc069a2af4266e5120ae6bad62699a/sample.vtt',
lang: 'en-us',
name: 'github',
},
],
defaultSubtitle: 7,
type: 'webvtt',
fontSize: '25px',
bottom: '10%',
color: '#b7daff'
},
danmaku: {
id: '9E2E3368B56CDBB4',
@ -83,10 +99,12 @@ function initPlayers() {
loop: true,
screenshot: true,
airplay: true,
chromecast: true,
hotkey: true,
logo: 'https://i.loli.net/2019/06/06/5cf8c5d94521136430.png',
volume: 0.2,
mutex: true,
lang: 'zh-cn',
video: {
url: 'https://api.dogecloud.com/player/get.mp4?vcode=5ac682e6f8231991&userId=17&ext=.mp4',
pic: 'https://i.loli.net/2019/06/06/5cf8c5d9c57b510947.png',
@ -103,11 +121,13 @@ function initPlayers() {
danmaku: {
id: '9E2E3368B56CDBB4',
api: 'https://api.prprpr.me/dplayer/',
addition: ['https://s-sh-17-dplayercdn.oss.dogecdn.com/1678963.json'],
token: 'tokendemo',
maximum: 3000,
user: 'DIYgod',
bottom: '15%',
unlimited: true
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
@ -137,7 +157,7 @@ function initPlayers() {
const eventsEle = document.getElementById('events');
for (let i = 0; i < events.length; i++) {
dp2.on(events[i], (info) => {
eventsEle.innerHTML += '<p>Event: ' + events[i] + '</p>';
eventsEle.innerHTML += `<p>Event: ${events[i]} ${info?`Data: <span>${JSON.stringify(info)}</span>`:''}</p>`;
eventsEle.scrollTop = eventsEle.scrollHeight;
});
}
@ -244,7 +264,7 @@ function clearPlayers() {
}
function switchDPlayer() {
if (dp2.option.danmaku.id !== '5rGf5Y2X55qu6Z2p') {
if (dp2.options.danmaku.id !== '5rGf5Y2X55qu6Z2p') {
dp2.switchVideo({
url: 'http://static.smartisanos.cn/common/video/t1-ui.mp4',
pic: 'http://static.smartisanos.cn/pr/img/video/video_03_cc87ce5bdb.jpg',

2
dist/DPlayer.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -71,12 +71,16 @@ export default {
methods: {
load: function () {
this.options.container = this.$refs.dplayer;
this.dplayer = new window.DPlayer(this.options);
setTimeout(() => {
this.dplayer = new window.DPlayer(this.options);
}, 0);
}
},
mounted: function () {
if (this.immediate) {
this.dplayer = new window.DPlayer(this.options);
setTimeout(() => {
this.dplayer = new window.DPlayer(this.options);
}, 0);
}
},
beforeDestroy: function () {

View File

@ -1,22 +1,10 @@
module.exports = {
plugins: {
'@vuepress/google-analytics': {
ga: 'UA-48084758-9',
},
'@vuepress/pwa': {
serviceWorker: true,
updatePopup: {
'/zh/': {
message: '发现新内容可用',
buttonText: '刷新',
},
'/': {
message: 'New content is available',
buttonText: 'Refresh',
},
},
},
'@vuepress/back-to-top': true,
umami: {
trackerUrl: 'https://umami.diygod.dev',
siteId: 'f3b469a2-8054-4bbb-8873-4035761aa4e3',
},
},
locales: {
'/zh/': {
@ -38,10 +26,11 @@ module.exports = {
['script', { src: 'https://cdn.jsdelivr.net/webtorrent/latest/webtorrent.min.js' }],
['script', { src: 'https://cdn.jsdelivr.net/npm/dplayer/dist/DPlayer.min.js' }],
],
theme: 'vuepress-theme-dplayer',
themeConfig: {
repo: 'MoePlayer/DPlayer',
editLinks: true,
docsDir: 'docs',
docsDir: '.',
locales: {
'/zh/': {
lang: 'zh-CN',

View File

@ -1 +0,0 @@
dplayer.js.org

View File

@ -0,0 +1,65 @@
<script>
export default {
name: 'CarbonAds',
watch: {
'$route' (to, from) {
if (
to.path !== from.path
// Only reload if the ad has been loaded
// otherwise it's possible that the script is appended but
// the ads are not loaded yet. This would result in duplicated ads.
&& this.$el.querySelector('#carbonads')
) {
this.$el.innerHTML = ''
this.load()
}
}
},
mounted () {
this.load()
},
methods: {
load () {
const s = document.createElement('script')
s.id = '_carbonads_js'
s.src = `//cdn.carbonads.com/carbon.js?serve=CEAI6277&placement=dplayerjsorg`
this.$el.appendChild(s)
}
},
render (h) {
return h('div', { class: 'carbon-ads' })
}
}
</script>
<style lang="stylus">
.carbon-ads
min-height 102px
padding 1.5rem 1.5rem 0
margin-bottom -0.5rem
font-size 0.75rem
a
color #444
font-weight normal
display inline
.carbon-img
float left
margin-right 1rem
border 1px solid $borderColor
img
display block
.carbon-poweredby
color #999
display block
margin-top 0.5em
@media (max-width: $MQMobile)
.carbon-ads
.carbon-img img
width 100px
height 77px
</style>

View File

@ -0,0 +1,3 @@
module.exports = {
extend: '@vuepress/theme-default',
};

View File

@ -0,0 +1,21 @@
<template>
<ParentLayout>
<template #sidebar-top>
<CarbonAds />
</template>
</ParentLayout>
</template>
<script>
import ParentLayout from '@parent-theme/layouts/Layout.vue'
import CarbonAds from '@theme/components/CarbonAds.vue'
export default {
name: 'Layout',
components: {
ParentLayout,
CarbonAds,
}
}
</script>

View File

@ -0,0 +1,4 @@
{
"name": "vuepress-theme-dplayer",
"main": "index.js"
}

View File

@ -8,10 +8,6 @@ Let's make DPlayer better, feel free to submit yours in [`Let me know!`](https:/
## Help
### Joining the Discussion
- [Telegram Group](https://t.me/adplayer)
### Creating issue
- [MoePlayer/DPlayer/issues](https://github.com/MoePlayer/DPlayer/issues)
@ -40,6 +36,7 @@ Let's make DPlayer better, feel free to submit yours in [`Let me know!`](https:/
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### Other
@ -57,6 +54,13 @@ Let's make DPlayer better, feel free to submit yours in [`Let me know!`](https:/
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html): 南京航空航天大学门户网站
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)
## Contributors

View File

@ -14,28 +14,16 @@ sidebar: auto
## Special Thanks
### Special Sponsors
### Sponsors
&nbsp;
<div>
<a href="https://www.cdnbye.com" target="_blank">
<img height="60px" src="https://cdnbye.oss-cn-beijing.aliyuncs.com/pic/cdnbye-dp.jpeg">
</a>
</div>
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://i.imgur.com/C2NgugY.png">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
### Sponsors
| [极酷社](https://www.acg.app) |
| :---------------------------: |
## Installation
Using npm:
@ -103,13 +91,15 @@ You can custom your player instance by those options
| loop | false | video loop |
| lang | navigator.language.toLowerCase() | values: 'en', 'zh-cn', 'zh-tw' |
| screenshot | false | enable screenshot, if true, video and video poster must enable Cross-Origin |
| airplay | true | enable airplay in Safari |
| airplay | false | enable airplay in Safari |
| chromecast | false | enable Chromecast |
| hotkey | true | enable hotkey, support FF, FR, volume control, play & pause |
| preload | 'auto' | values: 'none', 'metadata', 'auto' |
| volume | 0.7 | default volume, notice that player will remember user setting, default volume will not work after user set volume themselves |
| playbackSpeed | [0.5, 0.75, 1, 1.25, 1.5, 2] | optional playback speed, or or you can set a custom one |
| logo | - | showing logo in the top left corner, you can adjust its size and position by CSS |
| apiBackend | - | getting and sending danmaku in your way, see [#live](#live) |
| preventClickToggle | false | prevent toggle video play/pause status when click player |
| video | - | video info |
| video.quality | - | see [#Quality switching](#quality-switching) |
| video.defaultQuality | - | see [#Quality switching](#quality-switching) |
@ -133,6 +123,7 @@ You can custom your player instance by those options
| danmaku.user | 'DIYgod' | danmaku user name |
| danmaku.bottom | - | values like: '10px' '10%', the distance between the danmaku bottom and player bottom, in order to prevent warding off subtitle |
| danmaku.unlimited | false | display all danmaku even though danmaku overlap, notice that player will remember user setting, default setting will not work after user set it themselves |
| danmaku.speedRate | 1 | danmaku speed multiplier, the larger the faster |
| contextmenu | [] | custom contextmenu |
| highlight | [] | custom time markers upon progress bar |
| mutex | true | prevent to play multiple player at the same time, pause other players when this player start play |
@ -172,6 +163,7 @@ const dp = new DPlayer({
user: 'DIYgod',
bottom: '15%',
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
@ -212,7 +204,7 @@ const dp = new DPlayer({
- `dp.toggle()`: toggle between play and pause
- `dp.on(event: string, handler: function)`: bind video and player events, [see more details](http://dplayer.js.org/#/home?id=event-binding)
- `dp.on(event: string, handler: function)`: bind video and player events, [see more details](https://dplayer.diygod.dev/guide.html#event-binding)
- `dp.switchVideo(video, danmaku)`: switch to a new video
@ -420,15 +412,56 @@ const dp = new DPlayer({
});
```
When using `customType` ([Work with other MSE library](#work-with-other-mse-library)), you should listen for the `destroy` and `quality_end` events to destroy the MSE library instance in a timely manner to avoid memory leaks.
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo_hd.m3u8',
type: 'Hls',
},
{
name: 'SD',
url: 'demo_sd.m3u8',
type: 'Hls',
},
],
defaultQuality: 0,
customType: {
Hls: (video, player) => {
const hls = new window.Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
hls.sessionId = crypto.randomUUID();
player.sessionId = hls.sessionId;
player.events.on('destroy', () => {
hls.destroy();
});
player.events.on('quality_end', () => {
if (hls.sessionId !== player.sessionId) {
hls.destroy();
}
});
},
},
},
});
```
## Danmaku
### Danmaku API
`danmaku.api`
**Ready-made API**
<!-- **Ready-made API**
url: https://api.prprpr.me/dplayer/
url: https://api.prprpr.me/dplayer/ -->
Daily backup data: [DPlayer-data](https://github.com/DIYgod/DPlayer-data)
@ -703,22 +736,32 @@ DPlayer can work with any MSE library via `customType` option.
```html
<div id="dplayer"></div>
<script src="pearplayer.js"></script>
<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>
<script src="DPlayer.min.js"></script>
```
```js
var type = 'normal';
if (Hls.isSupported() && Hls.WEBRTC_SUPPORT) {
type = 'customHls';
}
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'https://qq.webrtc.win/tv/Pear-Demo-Yosemite_National_Park.mp4',
type: 'pearplayer',
url: 'demo.m3u8',
type: type,
customType: {
pearplayer: function (video, player) {
new PearPlayer(video, {
src: video.src,
autoplay: player.options.autoplay,
customHls: function (video, player) {
const hls = new Hls({
debug: false,
// Other hlsjsConfig options provided by hls.js
p2pConfig: {
live: false,
// Other p2pConfig options provided by CDNBye http://www.cdnbye.com/en/
},
});
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
@ -747,11 +790,11 @@ const dp = new DPlayer({
apiBackend: {
read: function (options) {
console.log('Pretend to connect WebSocket');
callback();
options.success([]);
},
send: function (options) {
console.log('Pretend to send danmaku via WebSocket', options.data);
callback();
options.success();
},
},
video: {
@ -786,4 +829,4 @@ For full browser support it should look like this:
### Why can't player autoplay in some mobile browsers?
Most mobile browsers forbid video autoplay, you wont be able to achieve it without hacks.
Most mobile browsers forbid video autoplay, you wont be able to achieve it without hacks.

15
docs/package.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "docs",
"scripts": {
"docs:dev": "vuepress dev",
"docs:build": "vuepress build"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@vuepress/plugin-back-to-top": "^1.9.10",
"@vuepress/plugin-google-analytics": "^1.9.10",
"vuepress": "^1.9.10",
"vuepress-plugin-umami": "^0.0.4"
}
}

9329
docs/pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -10,44 +10,30 @@ If you run a business and are using DPlayer in a revenue-generating product, it
If you are an individual user and have enjoyed the productivity of using DPlayer, consider donating as a sign of appreciation - like buying me coffee once in a while :)
You can support DPlayer development via the following methods:
You can support DPlayer via donations.
## One-time Donations
### Recurring Donation
We accept donations through these channels:
Recurring donors will be rewarded via express issue response, or even have your name displayed on our GitHub page and website.
- Become a Sponser on [GitHub](https://github.com/sponsors/DIYgod)
- Become a Sponser on [Patreon](https://www.patreon.com/DIYgod)
- Become a Sponser on [爱发电](https://afdian.net/@diygod)
- Contact us directly: i@diygod.me
### One-time Donation
We accept donations via the following ways:
- [WeChat Pay](https://diygod.me/images/wx.jpg)
- [Alipay](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
- [WeChat Pay](https://i.imgur.com/aq6PtWa.png)
- [Alipay](https://i.imgur.com/wv1Pj2k.png)
## Recurring Pledges
## Sponsors
Recurring pledges come with exclusive perks, e.g. having your name or your company logo listed in the DPlayer GitHub repository and this website.
- Become a Backer or a Sponser on [Patreon](https://www.patreon.com/DIYgod)
- E-mail us: i#diygod.me
## Current Premium Sponsors
### Special Sponsors
<div>
<a href="https://www.cdnbye.com" target="_blank">
<img height="60px" src="https://cdnbye.oss-cn-beijing.aliyuncs.com/pic/cdnbye-dp.jpeg">
</a>
</div>
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://i.imgur.com/C2NgugY.png">
<img width="222px" src="hhttps://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
### Sponsors
| [极酷社](https://www.acg.app) |
| :---------------------------: |
## DPlayer contributors

View File

@ -1,7 +1,7 @@
---
home: true
actionText: Get Started →
actionLink: /guide/
actionLink: /zh/guide/
footer: MIT Licensed | Made with love by DIYgod
---
@ -9,4 +9,4 @@ footer: MIT Licensed | Made with love by DIYgod
<DPlayer :immediate="true"></DPlayer>
</div>
<div class="hero custom"><p class="action"><router-link to="/guide/" class="nav-link action-button">快速上手 →</router-link></p></div>
<div class="hero custom"><p class="action"><router-link to="/zh/guide/" class="nav-link action-button">快速上手 →</router-link></p></div>

View File

@ -8,10 +8,6 @@ sidebar: auto
## 帮助
### 参与讨论
- [Telegram 群](https://t.me/adplayer)
### 提交 issue
- [MoePlayer/DPlayer/issues](https://github.com/MoePlayer/DPlayer/issues)
@ -40,6 +36,7 @@ sidebar: auto
- [Selection](https://github.com/GreatSatan79/Selection): WordPress
- [Vue-DPlayer](https://github.com/sinchang/vue-dplayer): Vue
- [react-dplayer](https://github.com/hnsylitao/react-dplayer): React
- [rc-dplayer](https://github.com/tianfeng98/rc-dplayer): React
### 其他
@ -57,3 +54,10 @@ sidebar: auto
- [纸飞机南航青年网络社区](http://my.nuaa.edu.cn/video-video.html): 南京航空航天大学门户网站
- [otomads](https://otomads.com/): 专注于音 MAD 的视频弹幕网站
- [Cloudreve](https://github.com/HFO4/Cloudreve): 基于 ThinkPHP 构建的网盘系统
- [arozos](https://github.com/tobychui/arozos): General purposed Web Desktop Operating Platform / OS for Raspberry Pis
- [新东方云教室](https://roombox.xdf.cn/)
- [BBHouse](https://github.com/endcloud/bbhouse-tauri): A Bilibili Cross-Platform Desktop Client Powered By Tauri
- [Tampermonkey 阿里云盘](https://greasyfork.org/zh-CN/scripts/425955-%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98)
- [arozos](https://github.com/tobychui/arozos)
- [GBCLStudio/fof-upload-qcloud](https://github.com/GBCLStudio/FoF-Upload-Qcloud)
- Feel free to submit yours in [`Let me know!`](https://github.com/MoePlayer/DPlayer/issues/31)

View File

@ -14,26 +14,14 @@ sidebar: auto
## Special Thanks
### Special Sponsors
<div>
<a href="https://www.cdnbye.com" target="_blank">
<img height="60px" src="https://cdnbye.oss-cn-beijing.aliyuncs.com/pic/cdnbye-dp.jpeg">
</a>
</div>
### Sponsors
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://i.imgur.com/C2NgugY.png">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
### Sponsors
| [极酷社](https://www.acg.app) |
| :---------------------------: |
## 安装
使用 npm:
@ -94,12 +82,14 @@ DPlayer 有丰富的参数可以自定义你的播放器实例
| lang | navigator.language.toLowerCase() | 可选值: 'en', 'zh-cn', 'zh-tw' |
| screenshot | false | 开启截图,如果开启,视频和视频封面需要允许跨域 |
| hotkey | true | 开启热键,支持快进、快退、音量控制、播放暂停 |
| airplay | true | 在 Safari 中开启 AirPlay |
| airplay | false | 在 Safari 中开启 AirPlay |
| chromecast | false | 启用 Chromecast |
| preload | 'auto' | 视频预加载,可选值: 'none', 'metadata', 'auto' |
| volume | 0.7 | 默认音量,请注意播放器会记忆用户设置,用户手动设置音量后默认音量即失效 |
| playbackSpeed | [0.5, 0.75, 1, 1.25, 1.5, 2] | 可选的播放速率,可以设置成自定义的数组 |
| logo | - | 在左上角展示一个 logo你可以通过 CSS 调整它的大小和位置 |
| apiBackend | - | 自定义获取和发送弹幕行为,见[#直播](#直播) |
| preventClickToggle | false | 阻止点击播放器时候自动切换播放/暂停 |
| video | - | 视频信息 |
| video.quality | - | 见[#清晰度切换](#清晰度切换) |
| video.defaultQuality | - | 见[#清晰度切换](#清晰度切换) |
@ -123,6 +113,7 @@ DPlayer 有丰富的参数可以自定义你的播放器实例
| danmaku.user | 'DIYgod' | 弹幕用户名 |
| danmaku.bottom | - | 弹幕距离播放器底部的距离,防止遮挡字幕,取值形如: '10px' '10%' |
| danmaku.unlimited | false | 海量弹幕模式,即使重叠也展示全部弹幕,请注意播放器会记忆用户设置,用户手动设置后即失效 |
| danmaku.speedRate | 1 | 弹幕速度倍率,越大速度越快 |
| contextmenu | [] | 自定义右键菜单 |
| highlight | [] | 自定义进度条提示点 |
| mutex | true | 互斥,阻止多个播放器同时播放,当前播放器播放时暂停其他播放器 |
@ -162,6 +153,7 @@ const dp = new DPlayer({
user: 'DIYgod',
bottom: '15%',
unlimited: true,
speedRate: 0.5,
},
contextmenu: [
{
@ -404,15 +396,56 @@ const dp = new DPlayer({
});
```
在使用 `customType` [配合其他 MSE 库使用](#配合其他-mse-库使用)时,需要监听 `destroy``quality_end` 事件及时销毁 MSE 库实例,避免内存泄漏
```js
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
quality: [
{
name: 'HD',
url: 'demo_hd.m3u8',
type: 'Hls',
},
{
name: 'SD',
url: 'demo_sd.m3u8',
type: 'Hls',
},
],
defaultQuality: 0,
customType: {
Hls: (video, player) => {
const hls = new window.Hls();
hls.loadSource(video.src);
hls.attachMedia(video);
hls.sessionId = crypto.randomUUID();
player.sessionId = hls.sessionId;
player.events.on('destroy', () => {
hls.destroy();
});
player.events.on('quality_end', () => {
if (hls.sessionId !== player.sessionId) {
hls.destroy();
}
});
},
},
},
});
```
## 弹幕
### 弹幕接口
`danmaku.api`
**现成的接口**
<!-- **现成的接口**
链接: https://api.prprpr.me/dplayer/
链接: https://api.prprpr.me/dplayer/ -->
每日备份: [DPlayer-data](https://github.com/DIYgod/DPlayer-data)
@ -683,26 +716,36 @@ const dp = new DPlayer({
### 配合其他 MSE 库使用
DPlayer 可以通过 `customType` 参数与任何 MSE 库一起使用
DPlayer 可以通过 `customType` 参数与任何 MSE 库一起使用,例如支持 P2P 插件:
```html
<div id="dplayer"></div>
<script src="pearplayer.js"></script>
<script src="https://cdn.jsdelivr.net/npm/cdnbye@latest"></script>
<script src="DPlayer.min.js"></script>
```
```js
var type = 'normal';
if (Hls.isSupported() && Hls.WEBRTC_SUPPORT) {
type = 'customHls';
}
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'https://qq.webrtc.win/tv/Pear-Demo-Yosemite_National_Park.mp4',
type: 'pearplayer',
url: 'demo.m3u8',
type: type,
customType: {
pearplayer: function (video, player) {
new PearPlayer(video, {
src: video.src,
autoplay: player.options.autoplay,
customHls: function (video, player) {
const hls = new Hls({
debug: false,
// Other hlsjsConfig options provided by hls.js
p2pConfig: {
live: false, // 如果是直播设为true
// Other p2pConfig options provided by CDNBye http://www.cdnbye.com/cn/
},
});
hls.loadSource(video.src);
hls.attachMedia(video);
},
},
},
@ -729,13 +772,13 @@ const dp = new DPlayer({
live: true,
danmaku: true,
apiBackend: {
read: function (endpoint, callback) {
read: function (options) {
console.log('Pretend to connect WebSocket');
callback();
options.success([]);
},
send: function (endpoint, danmakuData, callback) {
console.log('Pretend to send danmaku via WebSocket', danmakuData);
callback();
send: function (options) {
console.log('Pretend to send danmaku via WebSocket', options.data);
options.success();
},
},
video: {
@ -770,4 +813,4 @@ dp.danmaku.draw(danmaku);
### 为什么播放器不能在手机上自动播放?
大多数移动端浏览器禁止了视频自动播放。
大多数移动端浏览器禁止了视频自动播放。

View File

@ -10,45 +10,31 @@ DPlayer 是采用 MIT 许可的开源项目,使用完全免费。 但是随着
如果你是个人开发者并且享受 DPlayer 带来的高开发效率,可以用捐助来表示你的谢意 —— 比如偶尔给我买杯咖啡 :)
你可以通过下列的方法来赞助 DPlayer 的开发。
## 一次性赞助
我们通过以下方式接受赞助:
- [微信支付](https://i.imgur.com/aq6PtWa.png)
- [支付宝](https://i.imgur.com/wv1Pj2k.png)
- [Paypal](https://www.paypal.me/DIYgod)
你可以通过下列的方法来赞助 DPlayer 的开发.
## 周期性赞助
周期性赞助可以获得额外的回报,比如你的名字或你的公司 logo 会出现在 DPlayer 的 GitHub 仓库和现在我们的官网中。
- 通过 [GitHub](https://github.com/sponsors/DIYgod) 赞助
- 通过 [Patreon](https://www.patreon.com/DIYgod) 赞助
- 给我们发邮件联系赞助事宜: i#diygod.me
- 通过 [爱发电](https://afdian.net/@diygod) 赞助
- 给我们发邮件联系赞助事宜: <i@diygod.me>
## 当前的顶级赞助商
## 一次性赞助
### Special Sponsors
我们通过以下方式接受赞助:
<div>
<a href="https://www.cdnbye.com" target="_blank">
<img height="60px" src="https://cdnbye.oss-cn-beijing.aliyuncs.com/pic/cdnbye-dp.jpeg">
</a>
</div>
- [微信支付](https://diygod.me/images/wx.jpg)
- [支付宝](https://diygod.me/images/zfb.jpg)
- [Paypal](https://www.paypal.me/DIYgod)
## 赞助商
<div>
<a href="https://www.dogecloud.com/?ref=dplayer" target="_blank">
<img height="60px" src="https://i.imgur.com/C2NgugY.png">
<img height="60px" src="https://player.dogecloud.com/img/logo_with_product3.png">
</a>
</div>
### Sponsors
| [极酷社](https://www.acg.app) |
| :---------------------------: |
## DPlayer 贡献者
感谢所有贡献者。

View File

@ -1,18 +1,20 @@
{
"name": "dplayer",
"version": "1.26.0",
"version": "1.27.1",
"description": "Wow, such a lovely HTML5 danmaku video player",
"main": "dist/DPlayer.min.js",
"scripts": {
"start": "npm run dev",
"build": "cross-env NODE_ENV=production webpack --config webpack/prod.config.js --progress --display-error-details --colors",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack/dev.config.js --watch --colors",
"test": "eslint src webpack",
"format": "eslint \"**/*.js\" --fix && prettier \"**/*.{js,json,md}\" --write",
"format:staged": "eslint \"**/*.js\" --fix && pretty-quick --staged --verbose --pattern \"**/*.{js,json,md}\"",
"format:check": "eslint \"**/*.js\" && prettier-check \"**/*.{js,json,md}\"",
"build": "cross-env NODE_ENV=production webpack --config webpack/prod.config.js --progress",
"dev": "cross-env NODE_ENV=development webpack serve --config webpack/dev.config.js",
"test": "",
"format": "prettier \"**/*.{js,json,md}\" --write",
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
"docs:build": "vuepress build docs",
"prepare": "husky install"
},
"lint-staged": {
"**/*": "prettier --write --ignore-unknown"
},
"files": [
"dist"
@ -27,9 +29,6 @@
"video",
"html5"
],
"gitHooks": {
"pre-commit": "npm run format:staged"
},
"author": "DIYgod",
"license": "MIT",
"bugs": {
@ -37,46 +36,43 @@
},
"homepage": "https://github.com/DIYgod/DPlayer#readme",
"devDependencies": {
"@babel/core": "^7.6.0",
"@babel/preset-env": "^7.4.5",
"@vuepress/plugin-back-to-top": "1.5.1",
"@vuepress/plugin-google-analytics": "1.5.1",
"@vuepress/plugin-pwa": "1.5.1",
"@babel/core": "^7.22.10",
"@babel/preset-env": "^7.22.10",
"@vuepress/plugin-pwa": "1.9.9",
"art-template": "4.13.2",
"art-template-loader": "1.4.3",
"autoprefixer": "^9.6.1",
"babel-loader": "^8.0.6",
"autoprefixer": "^10.4.15",
"babel-loader": "^9.1.3",
"cross-env": "^7.0.0",
"css-loader": "^3.2.0",
"cssnano": "^4.1.10",
"eslint": "^7.0.0",
"eslint-config-prettier": "^6.3.0",
"eslint-loader": "^4.0.0",
"eslint-plugin-prettier": "^3.1.1",
"exports-loader": "^0.7.0",
"css-loader": "^6.8.1",
"cssnano": "^6.0.1",
"exports-loader": "^4.0.0",
"file-loader": "^6.0.0",
"git-revision-webpack-plugin": "^3.0.3",
"mini-css-extract-plugin": "0.9.0",
"node-sass": "^4.12.0",
"postcss-loader": "^3.0.0",
"prettier": "^2.0.4",
"git-revision-webpack-plugin": "^5.0.0",
"husky": "^8.0.3",
"less": "^4.2.0",
"less-loader": "^11.1.3",
"lint-staged": "^13.3.0",
"mini-css-extract-plugin": "2.7.6",
"postcss": "^8.4.27",
"postcss-loader": "^7.3.3",
"postcss-preset-env": "^9.1.1",
"prettier": "^3.0.1",
"prettier-check": "^2.0.0",
"pretty-quick": "^2.0.0",
"sass-loader": "^8.0.0",
"pretty-quick": "^3.0.0",
"strip-loader": "^0.1.2",
"style-loader": "^1.0.0",
"style-loader": "^3.3.3",
"svg-inline-loader": "0.8.2",
"template-string-optimize-loader": "^3.0.0",
"url-loader": "^4.1.0",
"vuepress": "1.5.1",
"webpack": "^4.40.2",
"webpack-cli": "3.3.11",
"webpack-dev-server": "^3.8.1",
"webpack": "^5.88.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "^4.15.1",
"yorkie": "^2.0.0"
},
"dependencies": {
"axios": "0.19.2",
"axios": "1.4.0",
"balloon-css": "^1.0.3",
"promise-polyfill": "8.1.3"
"promise-polyfill": "8.3.0"
}
}

7396
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="chromecast" class="svg-inline--fa fa-chromecast fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z"></path></svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@ -60,11 +60,11 @@
animation: diplayer-loading-dot-fade .8s ease infinite;
opacity: 0;
transform-origin: 4px 4px;
@for $i from 7 through 1 {
&.diplayer-loading-dot-#{$i} {
animation-delay: .1s * $i;
each(range(7), {
&.diplayer-loading-dot-@{value} {
animation-delay: (@value * 0.1s);
}
}
});
}
@keyframes diplayer-loading-dot-fade {
0% {

View File

@ -408,6 +408,41 @@
display: inline-block;
height: 100%;
}
.dplayer-subtitles {
display: inline-block;
height: 100%;
.dplayer-subtitles-box {
position: absolute;
right: 0;
bottom: 50px;
transform: scale(0);
width: fit-content;
max-width: 240px;
min-width: 120px;
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
padding: 7px 0;
transition: all .3s ease-in-out;
overflow: auto;
z-index: 2;
&.dplayer-subtitles-panel {
display: block;
}
&.dplayer-subtitles-box-open {
transform: scale(1);
}
}
.dplayer-subtitles-item {
height: 30px;
padding: 5px 10px;
box-sizing: border-box;
cursor: pointer;
position: relative;
&:hover {
background-color: rgba(255, 255, 255, .1);
}
}
}
.dplayer-setting {
display: inline-block;
height: 100%;

View File

@ -12,7 +12,7 @@
user-select: none;
cursor: default;
white-space: nowrap;
text-shadow: .5px .5px .5px rgba(0, 0, 0, .5);
text-shadow: 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5);
&--demo {
position: absolute;
visibility: hidden;
@ -24,7 +24,8 @@
transform: translateX(100%);
&.dplayer-danmaku-move {
will-change: transform;
animation: danmaku 5s linear;
animation-name: danmaku;
animation-timing-function: linear;
animation-play-state: paused;
}
}
@ -41,7 +42,8 @@
visibility: hidden;
&.dplayer-danmaku-move {
will-change: visibility;
animation: danmaku-center 4s linear;
animation-name: danmaku-center;
animation-timing-function: linear;
animation-play-state: paused;
}
}
@ -53,4 +55,4 @@
visibility: visible;
}
}
}
}

53
src/css/notice.less Normal file
View File

@ -0,0 +1,53 @@
.dplayer-notice-list{
position: absolute;
bottom: 60px;
left: 20px;
.dplayer-notice {
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
transition: all .3s ease-in-out;
overflow: hidden;
color: #fff;
display: table;
pointer-events: none;
animation: showNotice .3s ease 1 forwards;
}
.remove-notice{
animation: removeNotice .3s ease 1 forwards;
}
}
@keyframes showNotice {
from {
padding: 0;
font-size: 0;
margin-top: 0;
}
to {
padding: 7px 20px;
font-size: 14px;
margin-top: 5px;
}
}
@keyframes removeNotice {
0%{
padding: 7px 20px;
font-size: 14px;
margin-top: 5px;
}
20%{
font-size: 12px;
}
21%{
font-size: 0;
padding: 7px 10px;
}
100%{
padding: 0;
margin-top: 0;
font-size: 0;
}
}

View File

@ -1,14 +0,0 @@
.dplayer-notice {
opacity: 0;
position: absolute;
bottom: 60px;
left: 20px;
font-size: 14px;
border-radius: 2px;
background: rgba(28, 28, 28, 0.9);
padding: 7px 20px;
transition: all .3s ease-in-out;
overflow: hidden;
color: #fff;
pointer-events: none;
}

View File

@ -29,23 +29,7 @@
margin: 0;
padding: 0;
transform: translate(0, 0);
.dplayer-danmaku {
.dplayer-danmaku-top,
.dplayer-danmaku-bottom {
&.dplayer-danmaku-move {
animation: danmaku-center 6s linear;
animation-play-state: inherit;
}
}
.dplayer-danmaku-right {
&.dplayer-danmaku-move {
animation: danmaku 8s linear;
animation-play-state: inherit;
}
}
}
}
&.dplayer-no-danmaku {
@ -167,6 +151,7 @@
.dplayer-volume,
.dplayer-camera-icon,
.dplayer-airplay-icon,
.dplayer-chromecast-icon,
.dplayer-play-icon {
display: none;
}

View File

@ -76,7 +76,7 @@ class Comment {
// text can't be empty
if (!this.player.template.commentInput.value.replace(/^\s+|\s+$/g, '')) {
this.player.notice(this.player.tran('Please input danmaku content!'));
this.player.notice(this.player.tran('please-input-danmaku'));
return;
}

View File

@ -12,7 +12,7 @@ class ContextMenu {
}
});
this.player.container.addEventListener('contextmenu', (e) => {
this.contextmenuHandler = (e) => {
if (this.shown) {
this.hide();
return;
@ -27,7 +27,8 @@ class ContextMenu {
this.player.template.mask.addEventListener('click', () => {
this.hide();
});
});
};
this.player.container.addEventListener('contextmenu', this.contextmenuHandler);
}
show(x, y) {
@ -62,6 +63,10 @@ class ContextMenu {
this.shown = false;
this.player.events.trigger('contextmenu_hide');
}
destroy() {
this.player.container.removeEventListener('contextmenu', this.contextmenuHandler);
}
}
export default ContextMenu;

View File

@ -2,24 +2,21 @@ import utils from './utils';
import Thumbnails from './thumbnails';
import Icons from './icons';
let cast;
let runOnce = true;
let isCasting = false;
class Controller {
constructor(player) {
this.player = player;
this.autoHideTimer = 0;
if (!utils.isMobile) {
this.player.container.addEventListener('mousemove', () => {
this.setAutoHide();
});
this.player.container.addEventListener('click', () => {
this.setAutoHide();
});
this.player.on('play', () => {
this.setAutoHide();
});
this.player.on('pause', () => {
this.setAutoHide();
});
this.setAutoHideHandler = this.setAutoHide.bind(this);
this.player.container.addEventListener('mousemove', this.setAutoHideHandler);
this.player.container.addEventListener('click', this.setAutoHideHandler);
this.player.on('play', this.setAutoHideHandler);
this.player.on('pause', this.setAutoHideHandler);
}
this.initPlayButton();
@ -28,11 +25,15 @@ class Controller {
this.initFullButton();
this.initQualityButton();
this.initScreenshotButton();
this.initSubtitleButton();
this.initHighlights();
if (utils.isSafari) {
this.initAirplayButton();
// if subtitle url not array, not init old single subtitle button
if (this.player.options.subtitle) {
if (typeof this.player.options.subtitle.url === 'string') {
this.initSubtitleButton();
}
}
this.initHighlights();
this.initAirplayButton();
this.initChromecastButton();
if (!utils.isMobile) {
this.initVolumeButton();
}
@ -48,12 +49,14 @@ class Controller {
});
if (!utils.isMobile) {
this.player.template.videoWrap.addEventListener('click', () => {
this.player.toggle();
});
this.player.template.controllerMask.addEventListener('click', () => {
this.player.toggle();
});
if (!this.player.options.preventClickToggle) {
this.player.template.videoWrap.addEventListener('click', () => {
this.player.toggle();
});
this.player.template.controllerMask.addEventListener('click', () => {
this.player.toggle();
});
}
} else {
this.player.template.videoWrap.addEventListener('click', () => {
this.toggle();
@ -68,7 +71,7 @@ class Controller {
this.player.on('durationchange', () => {
if (this.player.video.duration !== 1 && this.player.video.duration !== Infinity) {
if (this.player.options.highlight) {
const highlights = document.querySelectorAll('.dplayer-highlight');
const highlights = this.player.template.playedBarWrap.querySelectorAll('.dplayer-highlight');
[].slice.call(highlights, 0).forEach((item) => {
this.player.template.playedBarWrap.removeChild(item);
});
@ -119,11 +122,11 @@ class Controller {
percentage = Math.min(percentage, 1);
this.player.bar.set('played', percentage, 'width');
this.player.seek(this.player.bar.get('played') * this.player.video.duration);
this.player.timer.enable('progress');
this.player.moveBar = false;
};
this.player.template.playedBarWrap.addEventListener(utils.nameMap.dragStart, () => {
this.player.timer.disable('progress');
this.player.moveBar = true;
document.addEventListener(utils.nameMap.dragMove, thumbMove);
document.addEventListener(utils.nameMap.dragEnd, thumbUp);
});
@ -245,9 +248,8 @@ class Controller {
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(dataURL);
this.player.events.trigger('screenshot', dataURL);
});
this.player.events.trigger('screenshot', dataURL);
});
}
}
@ -281,25 +283,103 @@ class Controller {
}
}
initSubtitleButton() {
if (this.player.options.subtitle) {
this.player.events.on('subtitle_show', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('Hide subtitle');
this.player.template.subtitleButtonInner.style.opacity = '';
this.player.user.set('subtitle', 1);
});
this.player.events.on('subtitle_hide', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('Show subtitle');
this.player.template.subtitleButtonInner.style.opacity = '0.4';
this.player.user.set('subtitle', 0);
});
initChromecast() {
const script = window.document.createElement('script');
script.setAttribute('type', 'text/javascript');
script.setAttribute('src', 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1');
window.document.body.appendChild(script);
this.player.template.subtitleButton.addEventListener('click', () => {
this.player.subtitle.toggle();
window.__onGCastApiAvailable = (isAvailable) => {
if (isAvailable) {
cast = window.chrome.cast;
const sessionRequest = new cast.SessionRequest(cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID);
const apiConfig = new cast.ApiConfig(
sessionRequest,
() => {},
(status) => {
if (status === cast.ReceiverAvailability.AVAILABLE) {
console.log('chromecast: ', status);
}
}
);
cast.initialize(apiConfig, () => {});
}
};
}
initChromecastButton() {
if (this.player.options.chromecast) {
if (runOnce) {
runOnce = false;
this.initChromecast();
}
const discoverDevices = () => {
cast.requestSession(
(s) => {
this.session = s;
launchMedia(this.player.options.video.url);
},
(err) => {
if (err.code === 'cancel') {
this.session = undefined;
} else {
console.error('Error selecting a cast device', err);
}
}
);
};
const launchMedia = (media) => {
const mediaInfo = new cast.media.MediaInfo(media);
const request = new cast.media.LoadRequest(mediaInfo);
if (!this.session) {
window.open(media);
return false;
}
this.session.loadMedia(request, onMediaDiscovered.bind(this, 'loadMedia'), onMediaError).play();
return true;
};
const onMediaDiscovered = (how, media) => {
this.currentMedia = media;
};
const onMediaError = (err) => {
console.error('Error launching media', err);
};
this.player.template.chromecastButton.addEventListener('click', () => {
if (isCasting) {
isCasting = false;
this.currentMedia.stop();
this.session.stop();
this.initChromecast();
} else {
isCasting = true;
discoverDevices();
}
});
}
}
initSubtitleButton() {
this.player.events.on('subtitle_show', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('hide-subs');
this.player.template.subtitleButtonInner.style.opacity = '';
this.player.user.set('subtitle', 1);
});
this.player.events.on('subtitle_hide', () => {
this.player.template.subtitleButton.dataset.balloon = this.player.tran('show-subs');
this.player.template.subtitleButtonInner.style.opacity = '0.4';
this.player.user.set('subtitle', 0);
});
this.player.template.subtitleButton.addEventListener('click', () => {
this.player.subtitle.toggle();
});
}
setAutoHide() {
this.show();
clearTimeout(this.autoHideTimer);
@ -333,6 +413,10 @@ class Controller {
}
destroy() {
if (!utils.isMobile) {
this.player.container.removeEventListener('mousemove', this.setAutoHideHandler);
this.player.container.removeEventListener('click', this.setAutoHideHandler);
}
clearTimeout(this.autoHideTimer);
}
}

View File

@ -3,6 +3,7 @@ import utils from './utils';
class Danmaku {
constructor(options) {
this.options = options;
this.player = this.options.player;
this.container = this.options.container;
this.danTunnel = {
right: {},
@ -69,7 +70,7 @@ class Danmaku {
}
},
error: (msg) => {
this.options.error(msg || this.options.tran('Danmaku load failed'));
this.options.error(msg || this.options.tran('danmaku-failed'));
results[i] = [];
++readCount;
@ -96,7 +97,7 @@ class Danmaku {
data: danmakuData,
success: callback,
error: (msg) => {
this.options.error(msg || this.options.tran('Danmaku send failed'));
this.options.error(msg || this.options.tran('danmaku-failed'));
},
});
@ -254,6 +255,7 @@ class Danmaku {
if (tunnel >= 0) {
// move
item.classList.add('dplayer-danmaku-move');
item.style.animationDuration = this._danAnimation(dan[i].type);
// insert
docFragment.appendChild(item);
@ -307,13 +309,7 @@ class Danmaku {
}
htmlEncode(str) {
return str
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#x27;')
.replace(/\//g, '&#x2f;');
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g, '&#x2f;');
}
resize() {
@ -343,6 +339,21 @@ class Danmaku {
unlimit(boolean) {
this.unlimited = boolean;
}
speed(rate) {
this.options.api.speedRate = rate;
}
_danAnimation(position) {
const rate = this.options.api.speedRate || 1;
const isFullScreen = !!this.player.fullScreen.isFullScreen();
const animations = {
top: `${(isFullScreen ? 6 : 4) / rate}s`,
right: `${(isFullScreen ? 8 : 5) / rate}s`,
bottom: `${(isFullScreen ? 6 : 4) / rate}s`,
};
return animations[position];
}
}
export default Danmaku;

View File

@ -12,7 +12,7 @@ class FullScreen {
utils.setScrollPosition(this.lastScrollPosition);
});
const fullscreenchange = () => {
this.fullscreenchange = () => {
this.player.resize();
if (this.isFullScreen('browser')) {
this.player.events.trigger('fullscreen');
@ -21,7 +21,7 @@ class FullScreen {
this.player.events.trigger('fullscreen_cancel');
}
};
const docfullscreenchange = () => {
this.docfullscreenchange = () => {
const fullEle = document.fullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
if (fullEle && fullEle !== this.player.container) {
return;
@ -35,13 +35,13 @@ class FullScreen {
}
};
if (/Firefox/.test(navigator.userAgent)) {
document.addEventListener('mozfullscreenchange', docfullscreenchange);
document.addEventListener('fullscreenchange', docfullscreenchange);
document.addEventListener('mozfullscreenchange', this.docfullscreenchange);
document.addEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.player.container.addEventListener('fullscreenchange', fullscreenchange);
this.player.container.addEventListener('webkitfullscreenchange', fullscreenchange);
document.addEventListener('msfullscreenchange', docfullscreenchange);
document.addEventListener('MSFullscreenChange', docfullscreenchange);
this.player.container.addEventListener('fullscreenchange', this.fullscreenchange);
this.player.container.addEventListener('webkitfullscreenchange', this.fullscreenchange);
document.addEventListener('msfullscreenchange', this.docfullscreenchange);
document.addEventListener('MSFullscreenChange', this.docfullscreenchange);
}
}
@ -122,6 +122,18 @@ class FullScreen {
this.request(type);
}
}
destroy() {
if (/Firefox/.test(navigator.userAgent)) {
document.removeEventListener('mozfullscreenchange', this.docfullscreenchange);
document.removeEventListener('fullscreenchange', this.docfullscreenchange);
} else {
this.player.container.removeEventListener('fullscreenchange', this.fullscreenchange);
this.player.container.removeEventListener('webkitfullscreenchange', this.fullscreenchange);
document.removeEventListener('msfullscreenchange', this.docfullscreenchange);
document.removeEventListener('MSFullscreenChange', this.docfullscreenchange);
}
}
}
export default FullScreen;

View File

@ -1,60 +1,74 @@
class HotKey {
constructor(player) {
if (player.options.hotkey) {
document.addEventListener('keydown', (e) => {
if (player.focus) {
const tag = document.activeElement.tagName.toUpperCase();
const editable = document.activeElement.getAttribute('contenteditable');
if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {
const event = e || window.event;
let percentage;
switch (event.keyCode) {
case 32:
event.preventDefault();
player.toggle();
break;
case 37:
event.preventDefault();
if (player.options.live) {
break;
}
player.seek(player.video.currentTime - 5);
player.controller.setAutoHide();
break;
case 39:
event.preventDefault();
if (player.options.live) {
break;
}
player.seek(player.video.currentTime + 5);
player.controller.setAutoHide();
break;
case 38:
event.preventDefault();
percentage = player.volume() + 0.1;
player.volume(percentage);
break;
case 40:
event.preventDefault();
percentage = player.volume() - 0.1;
player.volume(percentage);
break;
}
}
}
});
this.player = player;
this.doHotKeyHandler = this.doHotKey.bind(this);
this.cancelFullScreenHandler = this.cancelFullScreen.bind(this);
if (this.player.options.hotkey) {
document.addEventListener('keydown', this.doHotKeyHandler);
}
document.addEventListener('keydown', (e) => {
const event = e || window.event;
switch (event.keyCode) {
case 27:
if (player.fullScreen.isFullScreen('web')) {
player.fullScreen.cancel('web');
}
break;
document.addEventListener('keydown', this.cancelFullScreenHandler);
}
doHotKey(e) {
if (this.player.focus) {
const tag = document.activeElement.tagName.toUpperCase();
const editable = document.activeElement.getAttribute('contenteditable');
if (tag !== 'INPUT' && tag !== 'TEXTAREA' && editable !== '' && editable !== 'true') {
const event = e || window.event;
let percentage;
switch (event.keyCode) {
case 32:
event.preventDefault();
this.player.toggle();
break;
case 37:
event.preventDefault();
if (this.player.options.live) {
break;
}
this.player.seek(this.player.video.currentTime - 5);
this.player.controller.setAutoHide();
break;
case 39:
event.preventDefault();
if (this.player.options.live) {
break;
}
this.player.seek(this.player.video.currentTime + 5);
this.player.controller.setAutoHide();
break;
case 38:
event.preventDefault();
percentage = this.player.volume() + 0.1;
this.player.volume(percentage);
break;
case 40:
event.preventDefault();
percentage = this.player.volume() - 0.1;
this.player.volume(percentage);
break;
}
}
});
}
}
cancelFullScreen(e) {
const event = e || window.event;
switch (event.keyCode) {
case 27:
if (this.player.fullScreen.isFullScreen('web')) {
this.player.fullScreen.cancel('web');
}
break;
}
}
destroy() {
if (this.player.options.hotkey) {
document.removeEventListener('keydown', this.doHotKeyHandler);
}
document.removeEventListener('keydown', this.cancelFullScreenHandler);
}
}

View File

@ -9,97 +9,358 @@ Use this as shown below..... */
function i18n(lang) {
this.lang = lang;
this.tran = (text) => {
if (tranTxt[this.lang] && tranTxt[this.lang][text]) {
return tranTxt[this.lang][text];
// in case someone says en-us, and en is present!
this.fallbackLang = this.lang.includes('-') ? this.lang.split('-')[0] : this.lang;
this.tran = (key) => {
key = key.toLowerCase();
if (tranTxt[this.lang] && tranTxt[this.lang][key]) {
return tranTxt[this.lang][key];
} else if (tranTxt[this.fallbackLang] && tranTxt[this.fallbackLang][key]) {
return tranTxt[this.fallbackLang][key];
} else if (standard[key]) {
return standard[key];
} else {
return text;
return key;
}
};
}
// abstract model for recognizing if valid translations are present
// const model = {
// 'danmaku-loading': [],
// top: [],
// bottom: [],
// rolling: [],
// 'input-danmaku-enter': [],
// 'about-author': [],
// 'dplayer-feedback': [],
// 'about-dplayer': [],
// loop: [],
// speed: [],
// 'opacity-danmaku': [],
// normal: [],
// 'please-input-danmaku': [],
// 'set-danmaku-color': [],
// 'set-danmaku-type': [],
// 'show-danmaku': [],
// 'video-failed': [],
// 'danmaku-failed': [],
// 'danmaku-send-failed': [],
// 'switching-quality': [{ symbol: '%q', name: 'Quality', example: '720p' }],
// 'switched-quality': [{ symbol: '%q', name: 'Quality', example: '720p' }],
// ff: [{ symbol: '%s', name: 'Seconds', example: '5' }],
// rew: [{ symbol: '%s', name: 'Seconds', example: '5' }],
// 'unlimited-danmaku': [],
// 'send-danmaku': [],
// setting: [],
// fullscreen: [],
// 'web-fullscreen': [],
// send: [],
// screenshot: [],
// airplay: [],
// chromecast: [],
// 'show-subs': [],
// 'hide-subs': [],
// volume: [],
// live: [],
// 'video-info': [],
// };
// Standard english translations
const standard = {
'danmaku-loading': 'Danmaku is loading',
top: 'Top',
bottom: 'Bottom',
rolling: 'Rolling',
'input-danmaku-enter': 'Input danmaku, hit Enter',
'about-author': 'About author',
'dplayer-feedback': 'DPlayer feedback',
'about-dplayer': 'About DPlayer',
loop: 'Loop',
speed: 'Speed',
'opacity-danmaku': 'Opacity for danmaku',
normal: 'Normal',
'please-input-danmaku': 'Please input danmaku content!',
'set-danmaku-color': 'Set danmaku color',
'set-danmaku-type': 'Set danmaku type',
'show-danmaku': 'Show danmaku',
'video-failed': 'Video load failed',
'danmaku-failed': 'Danmaku load failed',
'danmaku-send-failed': 'Danmaku send failed',
'switching-quality': 'Switching to %q quality',
'switched-quality': 'Switched to %q quality',
ff: 'FF %s s',
rew: 'REW %s s',
'unlimited-danmaku': 'Unlimited danmaku',
'send-danmaku': 'Send danmaku',
setting: 'Setting',
fullscreen: 'Full screen',
'web-fullscreen': 'Web full screen',
send: 'Send',
screenshot: 'Screenshot',
airplay: 'AirPlay',
chromecast: 'ChromeCast',
subtitle: 'Subtitle',
off: 'Off',
'show-subs': 'Show subtitle',
'hide-subs': 'Hide subtitle',
volume: 'Volume',
live: 'Live',
'video-info': 'Video info',
};
// add translation text here
const tranTxt = {
en: standard,
'zh-cn': {
'Danmaku is loading': '弹幕加载中',
Top: '顶部',
Bottom: '底部',
Rolling: '滚动',
'Input danmaku, hit Enter': '输入弹幕,回车发送',
'About author': '关于作者',
'DPlayer feedback': '播放器意见反馈',
'About DPlayer': '关于 DPlayer 播放器',
Loop: '洗脑循环',
Speed: '速度',
'Opacity for danmaku': '弹幕透明度',
Normal: '正常',
'Please input danmaku content!': '要输入弹幕内容啊喂!',
'Set danmaku color': '设置弹幕颜色',
'Set danmaku type': '设置弹幕类型',
'Show danmaku': '显示弹幕',
'Video load failed': '视频加载失败',
'Danmaku load failed': '弹幕加载失败',
'Danmaku send failed': '弹幕发送失败',
'Switching to': '正在切换至',
'Switched to': '已经切换至',
quality: '画质',
FF: '快进',
REW: '快退',
'Unlimited danmaku': '海量弹幕',
'Send danmaku': '发送弹幕',
Setting: '设置',
'Full screen': '全屏',
'Web full screen': '页面全屏',
Send: '发送',
Screenshot: '截图',
AirPlay: '无线投屏',
s: '秒',
'Show subtitle': '显示字幕',
'Hide subtitle': '隐藏字幕',
Volume: '音量',
Live: '直播',
'Video info': '视频统计信息',
'danmaku-loading': '弹幕加载中',
top: '顶部',
bottom: '底部',
rolling: '滚动',
'input-danmaku-enter': '输入弹幕,回车发送',
'about-author': '关于作者',
'dplayer-feedback': '播放器意见反馈',
'about-dplayer': '关于 DPlayer 播放器',
loop: '洗脑循环',
speed: '速度',
'opacity-danmaku': '弹幕透明度',
normal: '正常',
'please-input-danmaku': '要输入弹幕内容啊喂!',
'set-danmaku-color': '设置弹幕颜色',
'set-danmaku-type': '设置弹幕类型',
'show-danmaku': '显示弹幕',
'video-failed': '视频加载失败',
'danmaku-failed': '弹幕加载失败',
'danmaku-send-failed': '弹幕发送失败',
'switching-quality': '正在切换至 %q 画质',
'switched-quality': '已经切换至 %q 画质',
ff: '快进 %s 秒',
rew: '快退 %s 秒',
'unlimited-danmaku': '海量弹幕',
'send-danmaku': '发送弹幕',
setting: '设置',
fullscreen: '全屏',
'web-fullscreen': '页面全屏',
send: '发送',
screenshot: '截图',
airplay: '无线投屏',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: '关闭',
'show-subs': '显示字幕',
'hide-subs': '隐藏字幕',
volume: '音量',
live: '直播',
'video-info': '视频统计信息',
},
'zh-tw': {
'Danmaku is loading': '彈幕載入中',
Top: '頂部',
Bottom: '底部',
Rolling: '滾動',
'Input danmaku, hit Enter': '輸入彈幕Enter 發送',
'About author': '關於作者',
'DPlayer feedback': '播放器意見回饋',
'About DPlayer': '關於 DPlayer 播放器',
Loop: '循環播放',
Speed: '速度',
'Opacity for danmaku': '彈幕透明度',
Normal: '正常',
'Please input danmaku content!': '請輸入彈幕內容啊!',
'Set danmaku color': '設定彈幕顏色',
'Set danmaku type': '設定彈幕類型',
'Show danmaku': '顯示彈幕',
'Video load failed': '影片載入失敗',
'Danmaku load failed': '彈幕載入失敗',
'Danmaku send failed': '彈幕發送失敗',
'Switching to': '正在切換至',
'Switched to': '已經切換至',
quality: '畫質',
FF: '快進',
REW: '快退',
'Unlimited danmaku': '巨量彈幕',
'Send danmaku': '發送彈幕',
Setting: '設定',
'Full screen': '全螢幕',
'Web full screen': '頁面全螢幕',
Send: '發送',
Screenshot: '截圖',
AirPlay: '無線投屏',
s: '秒',
'Show subtitle': '顯示字幕',
'Hide subtitle': '隱藏字幕',
Volume: '音量',
Live: '直播',
'Video info': '影片統計訊息',
'danmaku-loading': '彈幕載入中',
top: '頂部',
bottom: '底部',
rolling: '滾動',
'input-danmaku-enter': '輸入彈幕Enter 發送',
'about-author': '關於作者',
'dplayer-feedback': '播放器意見回饋',
'about-dplayer': '關於 DPlayer 播放器',
loop: '循環播放',
speed: '速度',
'opacity-danmaku': '彈幕透明度',
normal: '正常',
'please-input-danmaku': '請輸入彈幕內容啊!',
'set-danmaku-color': '設定彈幕顏色',
'set-danmaku-type': '設定彈幕類型',
'show-danmaku': '顯示彈幕',
'video-failed': '影片載入失敗',
'danmaku-failed': '彈幕載入失敗',
'danmaku-send-failed': '彈幕發送失敗',
'switching-quality': '正在切換至 %q 畫質',
'switched-quality': '已經切換至 %q 畫質',
ff: '快進 %s 秒',
rew: '快退 %s 秒',
'unlimited-danmaku': '巨量彈幕',
'send-danmaku': '發送彈幕',
setting: '設定',
fullscreen: '全螢幕',
'web-fullscreen': '頁面全螢幕',
send: '發送',
screenshot: '截圖',
airplay: '無線投屏',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: '關閉',
'show-subs': '顯示字幕',
'hide-subs': '隱藏字幕',
volume: '音量',
live: '直播',
'video-info': '影片統計訊息',
},
'ko-kr': {
'danmaku-loading': 'Danmaku를 불러오는 중입니다.',
top: 'Top',
bottom: 'Bottom',
rolling: 'Rolling',
'input-danmaku-enter': 'Danmaku를 입력하고 Enter를 누르세요.',
'about-author': '만든이',
'dplayer-feedback': '피드백 보내기',
'about-dplayer': 'DPlayer 정보',
loop: '반복',
speed: '배속',
'opacity-danmaku': 'Danmaku 불투명도',
normal: '표준',
'please-input-danmaku': 'Danmaku를 입력하세요!',
'set-danmaku-color': 'Danmaku 색상',
'set-danmaku-type': 'Danmaku 설정',
'show-danmaku': 'Danmaku 표시',
'video-failed': '비디오를 불러오지 못했습니다.',
'danmaku-failed': 'Danmaku를 불러오지 못했습니다.',
'danmaku-send-failed': 'Danmaku 전송에 실패했습니다.',
'Switching to': '',
'Switched to': '',
'switching-quality': '전환 %q 화질',
'switched-quality': '전환 됨 %q 화질',
ff: '앞으로 %s 초',
rew: '뒤로 %s 초',
'unlimited-danmaku': '끝없는 Danmaku',
'send-danmaku': 'Danmaku 보내기',
setting: '설정',
fullscreen: '전체 화면',
'web-fullscreen': '웹 내 전체화면',
send: '보내기',
screenshot: '화면 캡쳐',
airplay: '에어플레이',
chromecast: 'ChromeCast',
subtitle: '부제',
off: '끄다',
'show-subs': '자막 보이기',
'hide-subs': '자막 숨기기',
Volume: '볼륨',
live: '생방송',
'video-info': '비디오 정보',
},
de: {
'danmaku-loading': 'Danmaku lädt...',
top: 'Oben',
bottom: 'Unten',
rolling: 'Rollend',
'input-danmaku-enter': 'Drücke Enter nach dem Einfügen vom Danmaku',
'about-author': 'Über den Autor',
'dplayer-feedback': 'DPlayer Feedback',
'about-dplayer': 'Über DPlayer',
loop: 'Wiederholen',
speed: 'Geschwindigkeit',
'opacity-danmaku': 'Transparenz für Danmaku',
normal: 'Normal',
'please-input-danmaku': 'Bitte Danmaku Inhalt eingeben!',
'set-danmaku-color': 'Danmaku Farbe festlegen',
'set-danmaku-type': 'Danmaku Typ festlegen',
'show-danmaku': 'Zeige Danmaku',
'video-failed': 'Das Video konnte nicht geladen werden',
'danmaku-failed': 'Danmaku konnte nicht geladen werden',
'danmaku-send-failed': 'Das senden von Danmaku ist fehgeschlagen',
'switching-quality': 'Wechsle zur %q Qualität',
'switched-quality': 'Zur %q Qualität gewechselt',
ff: '%s s Vorwärts',
rew: '%s s Zurück',
'unlimited-danmaku': 'Unlimitiertes Danmaku',
'send-danmaku': 'Sende Danmaku',
setting: 'Einstellungen',
fullscreen: 'Vollbild',
'web-fullscreen': 'Browser Vollbild',
send: 'Senden',
screenshot: 'Screenshot',
airplay: 'AirPlay',
'show-subs': 'Zeige Untertitel',
chromecast: 'ChromeCast',
subtitle: 'Untertitel',
off: 'Schließung',
'hide-subs': 'Verstecke Untertitel',
volume: 'Lautstärke',
live: 'Live',
'video-info': 'Video Info',
},
"ja":{
'danmaku-loading':'コメントを読み込んでいます',
top:'トップ',
bottom:'ボトム',
rolling:'スクロール',
'input-danmaku-enter':'コメントを入力しEnter で送信',
'about-author':'作者について',
'dplayer-feedback':'DPlayer についての意見・要望',
'about-dplayer':'DPlayer について',
loop:'くり返し',
speed:'再生速度',
'opacity-danmaku':'コメントの透明度',
normal:'通常',
'please-input-danmaku':'コメントを入力してください!',
'set-danmaku-color':'コメントの色',
'set-danmaku-type':'コメントの種類',
'show-danmaku':'コメント表示',
'video-failed':'ビデオの読み込みに失敗',
'danmaku-failed':'コメントの読み込みに失敗',
'danmaku-send-failed':'コメントの送信に失敗',
'switching-quality':'%qへ切り替え中',
'switched-quality':'%qへ切り替え完了',
quality:'へ',
ff:'%s 秒早送り',
rew:'%s 秒早戻し',
'unlimited-danmaku':'コメント無制限',
'send-danmaku':'コメント送信',
setting:'設定',
fullscreen:'全画面表示',
'web-fullscreen':'ブラウザ全体表示',
send:'送信',
screenshot:'画面コピー',
airplay:'AirPlay',
'show-subs':'字幕表示',
chromecast: 'ChromeCast',
subtitle: '字幕',
off: 'OFF',
'hide-subs':'字幕非表示',
volume:'音量',
live:'ライブ',
'video-info':'動画情報'
},
'ru': {
'danmaku-loading': 'Загрузка комментариев',
top: 'Вверху',
bottom: 'Внизу',
rolling: 'Лента',
'input-danmaku-enter': 'Введите комментарий, нажмите Enter',
'about-author': 'Об авторе',
'dplayer-feedback': 'Обратная связь',
'about-dplayer': 'О плеере',
loop: 'Закольцевать',
speed: 'Скорость',
'opacity-danmaku': 'Прозрачность',
normal: 'Обычный',
'please-input-danmaku': 'Пожалуйста, введите комментарий!',
'set-danmaku-color': 'Цвет комментария',
'set-danmaku-type': 'Тип комментария',
'show-danmaku': 'Показать комментарии',
'video-failed': 'Ошибка загрузки видео',
'danmaku-failed': 'Ошибка загрузки комментариев',
'danmaku-send-failed': 'Ошибка отправки комментария',
'switching-quality': 'Переключение качества на: %q',
'switched-quality': 'Установлено качество: %q',
ff: 'Вперёд: %s с',
rew: 'Назад: %s с',
'unlimited-danmaku': 'Без ограничений',
'send-danmaku': 'Отправить комментарий',
setting: 'Настройки',
fullscreen: 'На весь экран',
'web-fullscreen': 'На весь Web экран',
send: 'Отправить',
screenshot: 'Скриншот',
airplay: 'AirPlay',
chromecast: 'ChromeCast',
subtitle: 'Комментарий',
off: 'Выкл',
'show-subs': 'Показать комментарии',
'hide-subs': 'Скрыть комментарии',
volume: 'Громкость',
live: 'Живые комментарии',
'video-info': 'Информация о видео',
},
};
export default i18n;
export { i18n };

View File

@ -15,6 +15,7 @@ import camera from '../assets/camera.svg';
import airplay from '../assets/airplay.svg';
import subtitle from '../assets/subtitle.svg';
import loading from '../assets/loading.svg';
import chromecast from '../assets/chromecast.svg';
const Icons = {
play: play,
@ -34,6 +35,7 @@ const Icons = {
subtitle: subtitle,
loading: loading,
airplay: airplay,
chromecast: chromecast,
};
export default Icons;

View File

@ -1,7 +1,7 @@
import '../css/index.scss';
import '../css/index.less';
import DPlayer from './player';
/* global DPLAYER_VERSION GIT_HASH */
console.log(`${'\n'} %c DPlayer v${DPLAYER_VERSION} ${GIT_HASH} %c http://dplayer.js.org ${'\n'}${'\n'}`, 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');
console.log(`${'\n'} %c DPlayer v${DPLAYER_VERSION} ${GIT_HASH} %c https://dplayer.diygod.dev ${'\n'}${'\n'}`, 'color: #fadfa3; background: #030307; padding:5px 0;', 'background: #fadfa3; padding:5px 0;');
export default DPlayer;

View File

@ -12,6 +12,7 @@ export default (options) => {
lang: (navigator.language || navigator.browserLanguage).toLowerCase(),
screenshot: false,
airplay: true,
chromecast: false,
hotkey: true,
preload: 'metadata',
volume: 0.7,
@ -21,6 +22,7 @@ export default (options) => {
contextmenu: [],
mutex: true,
pluginOptions: { hls: {}, flv: {}, dash: {}, webtorrent: {} },
preventClickToggle: false,
};
for (const defaultKey in defaultOption) {
if (defaultOption.hasOwnProperty(defaultKey) && !options.hasOwnProperty(defaultKey)) {
@ -50,13 +52,13 @@ export default (options) => {
options.contextmenu = options.contextmenu.concat([
{
text: 'Video info',
key: 'video-info',
click: (player) => {
player.infoPanel.triggle();
},
},
{
text: 'About author',
key: 'about-author',
link: 'https://diygod.me',
},
{

View File

@ -2,7 +2,7 @@ import Promise from 'promise-polyfill';
import utils from './utils';
import handleOption from './options';
import i18n from './i18n';
import { i18n } from './i18n';
import Template from './template';
import Icons from './icons';
import Danmaku from './danmaku';
@ -10,6 +10,7 @@ import Events from './events';
import FullScreen from './fullscreen';
import User from './user';
import Subtitle from './subtitle';
import Subtitles from './subtitles';
import Bar from './bar';
import Timer from './timer';
import Bezel from './bezel';
@ -42,6 +43,7 @@ class DPlayer {
this.events = new Events();
this.user = new User(this);
this.container = this.options.container;
this.noticeList = {};
this.container.classList.add('dplayer');
if (!this.options.danmaku) {
@ -49,6 +51,8 @@ class DPlayer {
}
if (this.options.live) {
this.container.classList.add('dplayer-live');
} else {
this.container.classList.remove('dplayer-live');
}
if (utils.isMobile) {
this.container.classList.add('dplayer-mobile');
@ -58,6 +62,43 @@ class DPlayer {
this.container.classList.add('dplayer-arrow');
}
// multi subtitles defaultSubtitle add index, off option
if (this.options.subtitle) {
if (Array.isArray(this.options.subtitle.url)) {
const offSubtitle = {
subtitle: '',
lang: 'off',
};
this.options.subtitle.url.push(offSubtitle);
if (this.options.subtitle.defaultSubtitle) {
if (typeof this.options.subtitle.defaultSubtitle === 'string') {
// defaultSubtitle is string, match in lang then name.
this.options.subtitle.index = this.options.subtitle.url.findIndex((sub) =>
/* if (sub.lang === this.options.subtitle.defaultSubtitle) {
return true;
} else if (sub.name === this.options.subtitle.defaultSubtitle) {
return true;
} else {
return false;
} */
sub.lang === this.options.subtitle.defaultSubtitle ? true : sub.name === this.options.subtitle.defaultSubtitle ? true : false
);
} else if (typeof this.options.subtitle.defaultSubtitle === 'number') {
// defaultSubtitle is int, directly use for index
this.options.subtitle.index = this.options.subtitle.defaultSubtitle;
}
}
// defaultSubtitle not match or not exist or index bound(when defaultSubtitle is int), try browser language.
if (this.options.subtitle.index === -1 || !this.options.subtitle.index || this.options.subtitle.index > this.options.subtitle.url.length - 1) {
this.options.subtitle.index = this.options.subtitle.url.findIndex((sub) => sub.lang === this.options.lang);
}
// browser language not match, default off title
if (this.options.subtitle.index === -1) {
this.options.subtitle.index = this.options.subtitle.url.length - 1;
}
}
}
this.template = new Template({
container: this.container,
options: this.options,
@ -77,6 +118,7 @@ class DPlayer {
if (this.options.danmaku) {
this.danmaku = new Danmaku({
player: this,
container: this.template.danmaku,
opacity: this.user.get('opacity'),
callback: () => {
@ -104,6 +146,7 @@ class DPlayer {
maximum: this.options.danmaku.maximum,
addition: this.options.danmaku.addition,
user: this.options.danmaku.user,
speedRate: this.options.danmaku.speedRate,
},
events: this.events,
tran: (msg) => this.tran(msg),
@ -114,21 +157,14 @@ class DPlayer {
this.setting = new Setting(this);
this.plugins = {};
document.addEventListener(
'click',
() => {
this.focus = false;
},
true
);
this.container.addEventListener(
'click',
() => {
this.focus = true;
},
true
);
this.docClickFun = () => {
this.focus = false;
};
this.containerClickFun = () => {
this.focus = true;
};
document.addEventListener('click', this.docClickFun, true);
this.container.addEventListener('click', this.containerClickFun, true);
this.paused = true;
@ -146,6 +182,8 @@ class DPlayer {
this.play();
}
this.moveBar = false;
index++;
instances.push(this);
}
@ -159,9 +197,9 @@ class DPlayer {
time = Math.min(time, this.video.duration);
}
if (this.video.currentTime < time) {
this.notice(`${this.tran('FF')} ${(time - this.video.currentTime).toFixed(0)} ${this.tran('s')}`);
this.notice(`${this.tran('ff').replace('%s', (time - this.video.currentTime).toFixed(0))}`);
} else if (this.video.currentTime > time) {
this.notice(`${this.tran('REW')} ${(this.video.currentTime - time).toFixed(0)} ${this.tran('s')}`);
this.notice(`${this.tran('rew').replace('%s', (this.video.currentTime - time).toFixed(0))}`);
}
this.video.currentTime = time;
@ -258,7 +296,7 @@ class DPlayer {
this.user.set('volume', percentage);
}
if (!nonotice) {
this.notice(`${this.tran('Volume')} ${(percentage * 100).toFixed(0)}%`);
this.notice(`${this.tran('volume')} ${(percentage * 100).toFixed(0)}%`, undefined, undefined, 'volume');
}
this.video.volume = percentage;
@ -344,6 +382,7 @@ class DPlayer {
this.type = 'normal';
}
const src = this.quality.url; // 真实的视频 url, 用于切换清晰度时销毁实例
switch (this.type) {
// https://github.com/video-dev/hls.js
case 'hls':
@ -358,6 +397,12 @@ class DPlayer {
hls.destroy();
delete this.plugins.hls;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
hls.destroy();
}
});
} else {
this.notice('Error: Hls is not supported.');
}
@ -386,6 +431,14 @@ class DPlayer {
flvPlayer.destroy();
delete this.plugins.flvjs;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
flvPlayer.unload();
flvPlayer.detachMediaElement();
flvPlayer.destroy();
}
});
} else {
this.notice('Error: flvjs is not supported.');
}
@ -397,7 +450,8 @@ class DPlayer {
// https://github.com/Dash-Industry-Forum/dash.js
case 'dash':
if (window.dashjs) {
const dashjsPlayer = window.dashjs.MediaPlayer().create().initialize(video, video.src, false);
const dashjsPlayer = window.dashjs.MediaPlayer().create();
dashjsPlayer.initialize(video, video.src, false, 0);
const options = this.options.pluginOptions.dash;
dashjsPlayer.updateSettings(options);
this.plugins.dash = dashjsPlayer;
@ -405,6 +459,12 @@ class DPlayer {
window.dashjs.MediaPlayer().reset();
delete this.plugins.dash;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
window.dashjs.MediaPlayer().reset();
}
});
} else {
this.notice("Error: Can't find dashjs.");
}
@ -434,6 +494,13 @@ class DPlayer {
client.destroy();
delete this.plugins.webtorrent;
});
// 切换清晰度时销毁实例
this.events.on('quality_end', () => {
if (src !== this.quality.url) {
client.remove(torrentId);
client.destroy();
}
});
} else {
this.notice('Error: Webtorrent is not supported.');
}
@ -471,7 +538,7 @@ class DPlayer {
// Not a video load error, may be poster load failed, see #307
return;
}
this.tran && this.notice && this.type !== 'webtorrent' && this.notice(this.tran('Video load failed'), -1);
this.tran && this.notice && this.type !== 'webtorrent' && this.notice(this.tran('video-failed'));
});
// video end
@ -501,7 +568,9 @@ class DPlayer {
});
this.on('timeupdate', () => {
this.bar.set('played', this.video.currentTime / this.video.duration, 'width');
if (!this.moveBar) {
this.bar.set('played', this.video.currentTime / this.video.duration, 'width');
}
const currentTime = utils.secondToTime(this.video.currentTime);
if (this.template.ptime.innerHTML !== currentTime) {
this.template.ptime.innerHTML = currentTime;
@ -509,15 +578,20 @@ class DPlayer {
});
for (let i = 0; i < this.events.videoEvents.length; i++) {
video.addEventListener(this.events.videoEvents[i], () => {
this.events.trigger(this.events.videoEvents[i]);
video.addEventListener(this.events.videoEvents[i], (e) => {
this.events.trigger(this.events.videoEvents[i], e);
});
}
this.volume(this.user.get('volume'), true, true);
if (this.options.subtitle) {
// init old single subtitle function(sub show and style)
this.subtitle = new Subtitle(this.template.subtitle, this.video, this.options.subtitle, this.events);
// init multi subtitles function(sub update)
if (Array.isArray(this.options.subtitle.url)) {
this.subtitles = new Subtitles(this);
}
if (!this.user.get('subtitle')) {
this.subtitle.hide();
}
@ -529,6 +603,7 @@ class DPlayer {
if (this.qualityIndex === index || this.switchingQuality) {
return;
} else {
this.prevIndex = this.qualityIndex;
this.qualityIndex = index;
}
this.switchingQuality = true;
@ -551,7 +626,7 @@ class DPlayer {
this.video = videoEle;
this.initVideo(this.video, this.quality.type || this.options.video.type);
this.seek(this.prevVideo.currentTime);
this.notice(`${this.tran('Switching to')} ${this.quality.name} ${this.tran('quality')}`, -1);
this.notice(`${this.tran('switching-quality').replace('%q', this.quality.name)}`, -1, undefined, 'switch-quality');
this.events.trigger('quality_start', this.quality);
this.on('canplay', () => {
@ -566,26 +641,69 @@ class DPlayer {
this.video.play();
}
this.prevVideo = null;
this.notice(`${this.tran('Switched to')} ${this.quality.name} ${this.tran('quality')}`);
this.notice(`${this.tran('switched-quality').replace('%q', this.quality.name)}`, undefined, undefined, 'switch-quality');
this.switchingQuality = false;
this.events.trigger('quality_end');
}
});
this.on('error', () => {
if (!this.video.error) {
return;
}
if (this.prevVideo) {
this.template.videoWrap.removeChild(this.video);
this.video = this.prevVideo;
if (!paused) {
this.video.play();
}
this.qualityIndex = this.prevIndex;
this.quality = this.options.video.quality[this.qualityIndex];
this.noticeTime = setTimeout(() => {
this.template.notice.style.opacity = 0;
this.events.trigger('notice_hide');
}, 3000);
this.prevVideo = null;
this.switchingQuality = false;
}
});
}
notice(text, time = 2000, opacity = 0.8) {
this.template.notice.innerHTML = text;
this.template.notice.style.opacity = opacity;
if (this.noticeTime) {
clearTimeout(this.noticeTime);
notice(text, time = 2000, opacity = 0.8, id) {
let oldNoticeEle;
if (id) {
oldNoticeEle = document.getElementById(`dplayer-notice-${id}`);
if (oldNoticeEle) {
oldNoticeEle.innerHTML = text;
}
if (this.noticeList[id]) {
clearTimeout(this.noticeList[id]);
this.noticeList[id] = null;
}
}
this.events.trigger('notice_show', text);
if (!oldNoticeEle) {
const notice = Template.NewNotice(text, opacity, id);
this.template.noticeList.appendChild(notice);
oldNoticeEle = notice;
}
this.events.trigger('notice_show', oldNoticeEle);
if (time > 0) {
this.noticeTime = setTimeout(() => {
this.template.notice.style.opacity = 0;
this.events.trigger('notice_hide');
}, time);
this.noticeList[id] = setTimeout(
(function (e, dp) {
return () => {
e.addEventListener('animationend', () => {
dp.template.noticeList.removeChild(e);
});
e.classList.add('remove-notice');
dp.events.trigger('notice_hide');
dp.noticeList[id] = null;
};
})(oldNoticeEle, this),
time
);
}
}
@ -606,6 +724,11 @@ class DPlayer {
destroy() {
instances.splice(instances.indexOf(this), 1);
this.pause();
document.removeEventListener('click', this.docClickFun, true);
this.container.removeEventListener('click', this.containerClickFun, true);
this.fullScreen.destroy();
this.hotkey.destroy();
this.contextmenu.destroy();
this.controller.destroy();
this.timer.destroy();
this.video.src = '';

View File

@ -17,7 +17,7 @@ class Subtitle {
const track = this.video.textTracks[0];
track.oncuechange = () => {
const cue = track.activeCues[0];
const cue = track.activeCues[track.activeCues.length - 1];
this.container.innerHTML = '';
if (cue) {
const template = document.createElement('div');

79
src/js/subtitles.js Normal file
View File

@ -0,0 +1,79 @@
class Subtitles {
constructor(player) {
this.player = player;
this.player.template.mask.addEventListener('click', () => {
this.hide();
});
this.player.template.subtitlesButton.addEventListener('click', () => {
this.adaptiveHeight();
this.show();
});
const lastItemIndex = this.player.template.subtitlesItem.length - 1;
for (let i = 0; i < lastItemIndex; i++) {
this.player.template.subtitlesItem[i].addEventListener('click', () => {
this.hide();
if (this.player.options.subtitle.index !== i) {
// clear subtitle show for new subtitle don't have now duration time. If don't, will display last subtitle.
this.player.template.subtitle.innerHTML = `<p></p>`;
// update video track src
this.player.template.subtrack.src = this.player.template.subtitlesItem[i].dataset.subtitle;
// update options current subindex for reload (such as changeQuality)
this.player.options.subtitle.index = i;
if (this.player.template.subtitle.classList.contains('dplayer-subtitle-hide')) {
this.subContainerShow();
}
}
});
}
this.player.template.subtitlesItem[lastItemIndex].addEventListener('click', () => {
this.hide();
if (this.player.options.subtitle.index !== lastItemIndex) {
// clear subtitle show for new subtitle don't have now duration time. If don't, will display last subtitle.
this.player.template.subtitle.innerHTML = `<p></p>`;
// update video track src
this.player.template.subtrack.src = '';
// update options current subindex for reload (such as changeQuality)
this.player.options.subtitle.index = lastItemIndex;
this.subContainerHide();
}
});
}
subContainerShow() {
this.player.template.subtitle.classList.remove('dplayer-subtitle-hide');
this.player.events.trigger('subtitle_show');
}
subContainerHide() {
this.player.template.subtitle.classList.add('dplayer-subtitle-hide');
this.player.events.trigger('subtitle_hide');
}
hide() {
this.player.template.subtitlesBox.classList.remove('dplayer-subtitles-box-open');
this.player.template.mask.classList.remove('dplayer-mask-show');
this.player.controller.disableAutoHide = false;
}
show() {
this.player.template.subtitlesBox.classList.add('dplayer-subtitles-box-open');
this.player.template.mask.classList.add('dplayer-mask-show');
this.player.controller.disableAutoHide = true;
}
adaptiveHeight() {
const curBoxHeight = this.player.template.subtitlesItem.length * 30 + 14;
const stdMaxHeight = this.player.template.videoWrap.offsetHeight * 0.8;
if (curBoxHeight >= stdMaxHeight - 50) {
this.player.template.subtitlesBox.style.bottom = '8px';
this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 8 + 'px';
} else {
this.player.template.subtitlesBox.style.bottom = '50px';
this.player.template.subtitlesBox.style['max-height'] = stdMaxHeight - 50 + 'px';
}
}
}
export default Subtitles;

View File

@ -22,7 +22,8 @@ class Template {
current: true,
pic: this.options.video.pic,
screenshot: this.options.screenshot,
airplay: this.options.airplay,
airplay: utils.isSafari && !utils.isChrome ? this.options.airplay : false,
chromecast: this.options.chromecast,
preload: this.options.preload,
url: this.options.video.url,
subtitle: this.options.subtitle,
@ -80,13 +81,18 @@ class Template {
this.qualityList = this.container.querySelector('.dplayer-quality-list');
this.camareButton = this.container.querySelector('.dplayer-camera-icon');
this.airplayButton = this.container.querySelector('.dplayer-airplay-icon');
this.chromecastButton = this.container.querySelector('.dplayer-chromecast-icon');
this.subtitleButton = this.container.querySelector('.dplayer-subtitle-icon');
this.subtitleButtonInner = this.container.querySelector('.dplayer-subtitle-icon .dplayer-icon-content');
this.subtitlesButton = this.container.querySelector('.dplayer-subtitles-icon');
this.subtitlesBox = this.container.querySelector('.dplayer-subtitles-box');
this.subtitlesItem = this.container.querySelectorAll('.dplayer-subtitles-item');
this.subtitle = this.container.querySelector('.dplayer-subtitle');
this.subtrack = this.container.querySelector('.dplayer-subtrack');
this.qualityButton = this.container.querySelector('.dplayer-quality-icon');
this.barPreview = this.container.querySelector('.dplayer-bar-preview');
this.barWrap = this.container.querySelector('.dplayer-bar-wrap');
this.notice = this.container.querySelector('.dplayer-notice');
this.noticeList = this.container.querySelector('.dplayer-notice-list');
this.infoPanel = this.container.querySelector('.dplayer-info-panel');
this.infoPanelClose = this.container.querySelector('.dplayer-info-panel-close');
this.infoVersion = this.container.querySelector('.dplayer-info-panel-item-version .dplayer-info-panel-item-data');
@ -99,6 +105,17 @@ class Template {
this.infoDanmakuApi = this.container.querySelector('.dplayer-info-panel-item-danmaku-api .dplayer-info-panel-item-data');
this.infoDanmakuAmount = this.container.querySelector('.dplayer-info-panel-item-danmaku-amount .dplayer-info-panel-item-data');
}
static NewNotice(text, opacity, id) {
const notice = document.createElement('div');
notice.classList.add('dplayer-notice');
notice.style.opacity = opacity;
notice.innerText = text;
if (id) {
notice.id = `dplayer-notice-${id}`;
}
return notice;
}
}
export default Template;

View File

@ -8,7 +8,7 @@ class Timer {
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
function (callback) {
window.setTimeout(callback, 1000 / 60);
})();

View File

@ -1,6 +1,4 @@
const isMobile = /mobile/i.test(window.navigator.userAgent);
const isSafari = /Safari/i.test(window.navigator.userAgent);
const isMobile = /mobile|android|iphone|ipod|phone|ipad/i.test(window.navigator.userAgent);
const utils = {
/**
@ -91,12 +89,12 @@ const utils = {
isMobile: isMobile,
isSafari: isSafari,
isFirefox: /firefox/i.test(window.navigator.userAgent),
isChrome: /chrome/i.test(window.navigator.userAgent),
isSafari: /safari/i.test(window.navigator.userAgent),
storage: {
set: (key, value) => {
localStorage.setItem(key, value);

View File

@ -6,14 +6,14 @@
<img src="{{ options.logo }}">
</div>
{{ /if }}
<div class="dplayer-danmaku"{{ if options.danmaku && options.danmaku.bottm }} style="margin-bottom:{{ options.danmaku.bottm }}"{{ /if }}>
<div class="dplayer-danmaku"{{ if options.danmaku && options.danmaku.bottom }} style="margin-bottom:{{ options.danmaku.bottom }}"{{ /if }}>
<div class="dplayer-danmaku-item dplayer-danmaku-item--demo"></div>
</div>
<div class="dplayer-subtitle"></div>
<div class="dplayer-bezel">
<span class="dplayer-bezel-icon"></span>
{{ if options.danmaku }}
<span class="dplayer-danloading">{{ tran('Danmaku is loading') }}</span>
<span class="dplayer-danloading">{{ tran('danmaku-loading') }}</span>
{{ /if }}
<span class="diplayer-loading-icon">{{@ icons.loading }}</span>
</div>
@ -21,12 +21,12 @@
<div class="dplayer-controller-mask"></div>
<div class="dplayer-controller">
<div class="dplayer-icons dplayer-comment-box">
<button class="dplayer-icon dplayer-comment-setting-icon" data-balloon="{{ tran('Setting') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-comment-setting-icon" data-balloon="{{ tran('setting') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.pallette }}</span>
</button>
<div class="dplayer-comment-setting-box">
<div class="dplayer-comment-setting-color">
<div class="dplayer-comment-setting-title">{{ tran('Set danmaku color') }}</div>
<div class="dplayer-comment-setting-title">{{ tran('set-danmaku-color') }}</div>
<label>
<input type="radio" name="dplayer-danmaku-color-{{ index }}" value="#fff" checked>
<span style="background: #fff;"></span>
@ -53,23 +53,23 @@
</label>
</div>
<div class="dplayer-comment-setting-type">
<div class="dplayer-comment-setting-title">{{ tran('Set danmaku type') }}</div>
<div class="dplayer-comment-setting-title">{{ tran('set-danmaku-type') }}</div>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="1">
<span>{{ tran('Top') }}</span>
<span>{{ tran('top') }}</span>
</label>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="0" checked>
<span>{{ tran('Rolling') }}</span>
<span>{{ tran('rolling') }}</span>
</label>
<label>
<input type="radio" name="dplayer-danmaku-type-{{ index }}" value="2">
<span>{{ tran('Bottom') }}</span>
<span>{{ tran('bottom') }}</span>
</label>
</div>
</div>
<input class="dplayer-comment-input" type="text" placeholder="{{ tran('Input danmaku, hit Enter') }}" maxlength="30">
<button class="dplayer-icon dplayer-send-icon" data-balloon="{{ tran('Send') }}" data-balloon-pos="up">
<input class="dplayer-comment-input" type="text" placeholder="{{ tran('input-danmaku-enter') }}" maxlength="30">
<button class="dplayer-icon dplayer-send-icon" data-balloon="{{ tran('send') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.send }}</span>
</button>
</div>
@ -94,7 +94,7 @@
<span class="dplayer-dtime">0:00</span>
</span>
{{ if options.live }}
<span class="dplayer-live-badge"><span class="dplayer-live-dot" style="background: {{ options.theme }};"></span>{{ tran('Live') }}</span>
<span class="dplayer-live-badge"><span class="dplayer-live-dot" style="background: {{ options.theme }};"></span>{{ tran('live') }}</span>
{{ /if }}
</div>
<div class="dplayer-icons dplayer-icons-right">
@ -111,60 +111,83 @@
</div>
{{ /if }}
{{ if options.screenshot }}
<div class="dplayer-icon dplayer-camera-icon" data-balloon="{{ tran('Screenshot') }}" data-balloon-pos="up">
<div class="dplayer-icon dplayer-camera-icon" data-balloon="{{ tran('screenshot') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.camera }}</span>
</div>
{{ /if }}
{{ if options.airplay }}
<div class="dplayer-icon dplayer-airplay-icon" data-balloon="{{ tran('AirPlay') }}" data-balloon-pos="up">
<div class="dplayer-icon dplayer-airplay-icon" data-balloon="{{ tran('airplay') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.airplay }}</span>
</div>
{{ /if }}
{{ if options.chromecast }}
<div class="dplayer-icon dplayer-chromecast-icon" data-balloon="{{ tran('chromecast') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.chromecast }}</span>
</div>
{{ /if }}
<div class="dplayer-comment">
<button class="dplayer-icon dplayer-comment-icon" data-balloon="{{ tran('Send danmaku') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-comment-icon" data-balloon="{{ tran('send-danmaku') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.comment }}</span>
</button>
</div>
{{ if options.subtitle }}
{{ if (typeof options.subtitle.url === 'string') }}
<div class="dplayer-subtitle-btn">
<button class="dplayer-icon dplayer-subtitle-icon" data-balloon="{{ tran('Hide subtitle') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-subtitle-icon" data-balloon="{{ tran('hide-subs') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.subtitle }}</span>
</button>
</div>
{{ else }}
<div class="dplayer-subtitles">
<button class="dplayer-icon dplayer-subtitles-icon" data-balloon="{{ tran('subtitle') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.subtitle }}</span>
</button>
<div class="dplayer-subtitles-box">
<div class="dplayer-subtitles-panel">
{{ each options.subtitle.url }}
<div class="dplayer-subtitles-item" data-subtitle="{{ $value.url }}">
<!-- if lang, show tran(lang). if lang and name, show name + (tran(lang)). if name, show name. off option use lang for translation. -->
<span class="dplayer-label">{{ $value.lang ? $value.name ? $value.name+' ('+tran($value.lang)+')' : tran($value.lang) : $value.name }}</span>
</div>
{{ /each }}
</div>
</div>
</div>
{{ /if }}
{{ /if }}
<div class="dplayer-setting">
<button class="dplayer-icon dplayer-setting-icon" data-balloon="{{ tran('Setting') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-setting-icon" data-balloon="{{ tran('setting') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.setting }}</span>
</button>
<div class="dplayer-setting-box">
<div class="dplayer-setting-origin-panel">
<div class="dplayer-setting-item dplayer-setting-speed">
<span class="dplayer-label">{{ tran('Speed') }}</span>
<span class="dplayer-label">{{ tran('speed') }}</span>
<div class="dplayer-toggle">{{@ icons.right }}</div>
</div>
<div class="dplayer-setting-item dplayer-setting-loop">
<span class="dplayer-label">{{ tran('Loop') }}</span>
<span class="dplayer-label">{{ tran('loop') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-toggle-setting-input" type="checkbox" name="dplayer-toggle">
<label for="dplayer-toggle"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-showdan">
<span class="dplayer-label">{{ tran('Show danmaku') }}</span>
<span class="dplayer-label">{{ tran('show-danmaku') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-showdan-setting-input" type="checkbox" name="dplayer-toggle-dan">
<label for="dplayer-toggle-dan"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-danunlimit">
<span class="dplayer-label">{{ tran('Unlimited danmaku') }}</span>
<span class="dplayer-label">{{ tran('unlimited-danmaku') }}</span>
<div class="dplayer-toggle">
<input class="dplayer-danunlimit-setting-input" type="checkbox" name="dplayer-toggle-danunlimit">
<label for="dplayer-toggle-danunlimit"></label>
</div>
</div>
<div class="dplayer-setting-item dplayer-setting-danmaku">
<span class="dplayer-label">{{ tran('Opacity for danmaku') }}</span>
<span class="dplayer-label">{{ tran('opacity-danmaku') }}</span>
<div class="dplayer-danmaku-bar-wrap">
<div class="dplayer-danmaku-bar">
<div class="dplayer-danmaku-bar-inner">
@ -177,17 +200,17 @@
<div class="dplayer-setting-speed-panel">
{{ each options.playbackSpeed }}
<div class="dplayer-setting-speed-item" data-speed="{{ $value }}">
<span class="dplayer-label">{{ $value === 1 ? tran('Normal') : $value }}</span>
<span class="dplayer-label">{{ $value === 1 ? tran('normal') : $value }}</span>
</div>
{{ /each }}
</div>
</div>
</div>
<div class="dplayer-full">
<button class="dplayer-icon dplayer-full-in-icon" data-balloon="{{ tran('Web full screen') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-full-in-icon" data-balloon="{{ tran('web-fullscreen') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.fullWeb }}</span>
</button>
<button class="dplayer-icon dplayer-full-icon" data-balloon="{{ tran('Full screen') }}" data-balloon-pos="up">
<button class="dplayer-icon dplayer-full-icon" data-balloon="{{ tran('fullscreen') }}" data-balloon-pos="up">
<span class="dplayer-icon-content">{{@ icons.full }}</span>
</button>
</div>
@ -247,11 +270,11 @@
<div class="dplayer-menu">
{{ each options.contextmenu }}
<div class="dplayer-menu-item">
<a{{ if $value.link }} target="_blank"{{ /if }} href="{{ $value.link || 'javascript:void(0);' }}">{{ tran($value.text) }}</a>
<a{{ if $value.link }} target="_blank"{{ /if }} href="{{ $value.link || 'javascript:void(0);' }}">{{ if $value.key }} {{ tran($value.key) }}{{ /if }}{{ if $value.text }} {{$value.text}}{{ /if }}</a>
</div>
{{ /each }}
</div>
<div class="dplayer-notice"></div>
<div class="dplayer-notice-list"></div>
<button class="dplayer-mobile-play">
{{@ icons.play }}
</button>

View File

@ -7,9 +7,16 @@
{{ if pic }}poster="{{ pic }}"{{ /if }}
{{ if screenshot || enableSubtitle }}crossorigin="anonymous"{{ /if }}
{{ if preload }}preload="{{ preload }}"{{ /if }}
{{ if url }}src="{{ url }}"{{ /if }}
{{ if airplay }}
nosrc
{{ else if url }}
src="{{ url }}"
{{ /if }}
>
{{ if airplay }}
<source src="{{ url }}">
{{ /if}}
{{ if enableSubtitle }}
<track kind="metadata" default src="{{ subtitle.url }}"></track>
<track class="dplayer-subtrack" kind="metadata" default src="{{ typeof subtitle.url === 'string' ? subtitle.url : subtitle.url[subtitle.index].url }}"></track>
{{ /if }}
</video>

6
tea.yaml Normal file
View File

@ -0,0 +1,6 @@
# https://tea.xyz/what-is-this-file
---
version: 1.0.0
codeOwners:
- '0x185bfcef7b37010e2511309048a130f477f54fBf'
quorum: 1

View File

@ -1,9 +1,7 @@
const path = require('path');
const webpack = require('webpack');
const GitRevisionPlugin = require('git-revision-webpack-plugin');
const { GitRevisionPlugin } = require('git-revision-webpack-plugin');
const gitRevisionPlugin = new GitRevisionPlugin();
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
module.exports = {
mode: 'development',
@ -26,7 +24,13 @@ module.exports = {
resolve: {
modules: ['node_modules'],
extensions: ['.js', '.scss'],
extensions: ['.js', '.less'],
fallback: {
dgram: false,
fs: false,
net: false,
tls: false,
},
},
module: {
@ -45,7 +49,7 @@ module.exports = {
],
},
{
test: /\.scss$/,
test: /\.less$/,
use: [
'style-loader',
{
@ -57,10 +61,12 @@ module.exports = {
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer, cssnano],
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
},
'sass-loader',
'less-loader',
],
},
{
@ -82,17 +88,11 @@ module.exports = {
},
devServer: {
static: {
directory: path.join(__dirname, '..', 'demo'),
},
compress: true,
contentBase: path.resolve(__dirname, '..', 'demo'),
clientLogLevel: 'none',
quiet: false,
open: true,
historyApiFallback: {
disableDotRule: true,
},
watchOptions: {
ignored: /node_modules/,
},
},
plugins: [
@ -102,13 +102,6 @@ module.exports = {
}),
],
node: {
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
},
performance: {
hints: false,
},

View File

@ -1,9 +1,7 @@
const path = require('path');
const webpack = require('webpack');
const GitRevisionPlugin = require('git-revision-webpack-plugin');
const { GitRevisionPlugin } = require('git-revision-webpack-plugin');
const gitRevisionPlugin = new GitRevisionPlugin();
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
module.exports = {
mode: 'production',
@ -28,7 +26,13 @@ module.exports = {
resolve: {
modules: ['node_modules'],
extensions: ['.js', '.scss'],
extensions: ['.js', '.less'],
fallback: {
dgram: false,
fs: false,
net: false,
tls: false,
},
},
module: {
@ -48,7 +52,7 @@ module.exports = {
],
},
{
test: /\.scss$/,
test: /\.less$/,
use: [
'style-loader',
{
@ -60,10 +64,12 @@ module.exports = {
{
loader: 'postcss-loader',
options: {
plugins: [autoprefixer, cssnano],
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
},
'sass-loader',
'less-loader',
],
},
{
@ -90,11 +96,4 @@ module.exports = {
GIT_HASH: JSON.stringify(gitRevisionPlugin.version()),
}),
],
node: {
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
},
};

9625
yarn.lock

File diff suppressed because it is too large Load Diff