MoePlayer / hexo-tag-dplayer

Embed dplayer in Hexo posts/pages
MIT License
207 stars 30 forks source link

希望引入相对地址播放 #10

Closed firedent closed 6 years ago

firedent commented 6 years ago

开启 文章资源文件夹 后,在参数URL处填视频的相对地址。虽然视频可以在文章内正常播放,但是无法在首页正常播放。

开启Hexo的“文章资源文件夹(post_asset_folder: true)”功能 现有Markdown源文件和视频资源文件 source/articleName.md source/articleName/videoName.mp4 在articleName.md中通过{% dplayer "url=videoName.mp4"%}引用视频,在文章中可以正常播放,在首页无法正常加载。通过控制台可以发现,播放器在文章中会请求http://HostName/2017/01/01/articleName/videoName.mp4,在首页会请求http://HostName/videoName.mp4

解决方案

不让视频出现在首页、/page/N/等一切非本文章的页面。在引用视频的语句前加入<!--more-->

将链接换成绝对路径,既填入{% dplayer "url=/2017/01/01/articleName/videoName.mp4"%}

作者大人更改代码,使DPlayer具有asset_path、asset_img和asset_link标签的功能

解决方案三的好处

  1. 更高效的整理资源
  2. 链接书写更简洁

而且~我发现APlayer也有相同的问题,直接艾特一下吧@grzhan 希望作者采纳这个建议,祝MoePlayer越办越好。

Myer921 commented 6 years ago

@firedent 很抱歉这么晚回复你,这个问题按照我的姿势量暂时无法解决(说起来这个项目我就是个挂名的) @dixyes 豆哥 麻烦有空看下吧= =,需要什么直接和我说,你可以在某个鸽子王群找我

(如果你能解决的话欢迎pr 谢谢

dixyes commented 6 years ago

重写的版本: https://gist.github.com/dixyes/b0574cdca8d969ba7a3f26cdd73ea6ca @firedent @Myer921 帮忙测试 靴靴 解决了 #1 (用的比较脏的方法) #10 如果测试没问题你可以往master打补丁了,再改个minor版本号吧

对于本issue的逻辑是 当开启post_asset_folder时,不是http(s)://或者//开头的url被视为相对的 同时更新了jspath和csspath的设置方法 在_config.yml里使用

hexo-tag-dplayer:
    js_path: /xxx
    css_path: /xxx
    cdn:
     - http://xxx/dplayer.mim.js

来选择js和css的拷贝路径或者使用cdn的url

Myer921 commented 6 years ago

@dixyes 如果有空的话请补一下英文介绍吧,神奇豆子

附赠完整更新内容,或许可能会有新的bug出现也说不准 除本贴外更新了插件依赖的dplayer版本

firedent commented 6 years ago

@dixyes @Myer921 二位辛苦了。如果让我这个半吊子Javaer来写JS,那可真是要了我的老命了。我不太明白的是,js_pathcss_pathcdn有什么作用呢?什么情况下才需要更改DPlayer.min.js的位置?而且,只配置DPlayer.min.js的CDN意义不大吧。。。难道说有一些我还没发现的骚操作需要这几个配置?

dixyes commented 6 years ago

只是单纯的在默认配置的hexo使用的话

这三个选项你都可以不用关心

jspath和csspath设置项是设置插件拷贝dplayer的js和式样文件到博客的目标目录的

默认的 插件将会拷进/asset/js和/asset/css (以我的习惯 我喜欢直接/js和/css

cdn选项可以不拷贝这些文件而直接使用cdn提供的静态文件(比如bootcdn或者cdnjs之类的地方

(有些时候js和css从你的博客加载更快 而有时候从cdn更快 自行选择哪种合适

grzhan commented 6 years ago

感谢 @dixyes ,对于相对地址问题将考虑在 hexo-tag-aplayer 中引入类似的解决方案。 @firedent

Myer921 commented 6 years ago

时间超时,暂时冻结