LuckyPuppy514 / Play-With-MPV

使用 MPV 播放网页中的视频
MIT License
509 stars 14 forks source link

修复标题结尾乱码问题 #118 #125

Closed verygoodlee closed 8 months ago

verygoodlee commented 8 months ago

修复方法在issue里已经提过了,经过这段时间的使用,并没有发现问题

LuckyPuppy514 commented 8 months ago

首先感谢 PR,但是这种方法可能不太好,我换了一种实现方法 🤣

v3.9.9 修复标题过长时结尾可能出现乱码的问题

verygoodlee commented 8 months ago

v3.9.9 修复标题过长时结尾可能出现乱码的问题

有点问题,Edge浏览器这个视频打不开,链接太长了, 原因是因为代码里的link.length是不准的,参数之间有空格,空格在URL会被编码成%20,部分参数值被双引号包围"",引号在URL会被编码为%22,造成最终浏览器中打开的链接长度比代码里的link.length要长不少,参数越多差距就越大。 代码里在window.open()之前加了一行打印链接长度link_len,确实控制在了2048以内,但实际长度大于2048 image

暂时改成旧版本的let maxLength = 1950 - link.length;就可以了。

LuckyPuppy514 commented 8 months ago

我想着预留48够用了,没想到还是得改回原来的值 🤣

verygoodlee commented 8 months ago

我想着预留48够用了,没想到还是得改回原来的值 🤣

预留的48字符还要被标题的参数名--force-media-title=""占掉一半,真正给空格和引号可膨胀的空间不多了。 把参数名长度减去情况会好很多,这样预留的字符就全部都是给他们膨胀的。

- link.length - this.player.params.title.replace("${title}", "").length;
LuckyPuppy514 commented 8 months ago

我想着预留48够用了,没想到还是得改回原来的值 🤣

预留的48字符还要被标题的参数名--force-media-title=""占掉一半,真正给空格和引号可膨胀的空间不多了。 把参数名长度减去情况会好很多,这样预留的字符就全部都是给他们膨胀的。

- link.length - this.player.params.title.replace("${title}", "").length;

先改成1950了,问题不大 😂