xuejianxianzun / PixivBatchDownloader

Chrome 扩展,批量下载 Pixiv 的插画和小说。过滤作品、下载时重命名、转换动态图片等。Powerful Pixiv batch downloader. Batch download artworks and novels, filter works, rename when downloading, convert animated images, and more.
https://pixiv.download/
GNU General Public License v3.0
3.77k stars 216 forks source link

【指示信息问题】下载完成后翻页时,显示对应的提示 #293

Closed kenshin000003 closed 1 year ago

kenshin000003 commented 1 year ago

比如: 某人作品页 https://www.pixiv.net/users/114514/artworks 某人作品收藏页 https://www.pixiv.net/users/114514/bookmarks/artworks

下载本页作品,下载完成后, 标签页显示: “[✓] メメこ的插图・漫画 - pixiv” 和“[✓]メメこ的收藏 - pixiv”, 下载器页面中显示:“当前状态 ✓ 下载完毕”。

但是点击下方的翻页,两个“✓”依旧存在。

虽然说是指示信息 BUG,但是如果翻页之后,去干别的事了,再回来,就会误认为这一页下载完了,会造成一些损失。

kenshin000003 commented 1 year ago

不太对,按理说是确实下载完毕了,但不是当前页下载完毕了, 问题是怎么指示可以指示出“不是当前页下载完毕了”。

xuejianxianzun commented 1 year ago

这不是 bug,尤其是下载器内部显示的 “当前状态 ✓ 下载完毕” 是仅针对这一批下载任务的,它不应该随着页面变化而取消。

至于标题上的“✓”,如果下载完成后,你跳转到了其他页面类型,那么 “✓”是会消失的。 但如果没有改变页面类型,变化的只是同一个页面里的页码,那么“✓”不会消失。

这是有意做成这样的,如果下载完成时用户没注意到(例如他离开了或者在浏览其他页面),之后他回到这个页面翻页,“✓”消失的话就不能直观的知道下载完成了。

xuejianxianzun commented 1 year ago

你说的是在下载完成前就翻页了,会误以为第二页下载完了。 确实有这种可能,不过这是不好解决的,下载完了肯定要显示提示的,只能显示在第二页上面了。 如果让下载器提示时带上下载时的页数范围,emmm,也许可以但是会比较怪异。

我觉得这个问题和用户的使用习惯有关系。比如有多个页面要下载的话,我不会分成一页一页的下载,所以也就不会考虑这个问题。

xuejianxianzun commented 1 year ago

最佳的操作方式是当一个标签页开始抓取后,就不再操作它。 如果有多个待下载的任务(比如看到了好几个喜欢的画师想要下载),就打开多个标签页,每个标签页里是一个画师,里面的内容不会改变,依次进行下载即可。 不过我不能要求用户这么做。尽管如此,像你说的引起困惑的情况也应该是少数。

kenshin000003 commented 1 year ago

广义上程序结果和需求不符的时候就是BUG,狭义上这个确实不是程序底层的问题,是设计理念区别,这点就不较真了,如果要标记为改进的话也可以。o( ̄▽ ̄)ブ

是需要指示下载完毕没错,但是,emmm,我想一下我是怎么想的,我是想说, 希望指示信息可以区分“【本页面】下载完毕”,和“【上次下载】下载完毕”,这两种情况。 否则用户就会像我一样,在离开页面回来之后,误以为【本页面】下载完毕,造成了一些损失。

比如: 如果当前页下载完毕,显示“[✓]下载完毕”,标签页显示“[✓]”。 如果当前页下载完毕并且翻页(没有改变页面类型),显示“[✓]下载完毕|[ ]”,标签页显示“[✓]|[ ]”。如果再下载的话,就可以显示成“[ ]正在下载”,标签页显示“[ ]”。

我觉得下载完翻页也是很常见操作了吧...用操作弥补指示的不足,总觉得还是蹩脚。 我想到了一个简单的实现,大佬想掉点头发的话就加上吧, 不加的话,只能说我当然可以增加个人的使用复杂度来凑合用, 但是对于别人第一次遇到造成一定损失的情况,我觉得还会出现的。并且因为已经关掉了,而且误以为下载完毕了,所以很难发现的。🤔

kenshin000003 commented 1 year ago

补充一下,并不是说非要下载某人所有作品, 下载单个作品,翻页也是这样,

用户挑着选择下载的情况应该不罕见了吧....

xuejianxianzun commented 1 year ago

需求是因人而异的,像我就不会有这个困扰。 另外下载单个作品会有这个问题吗?我没理解,单个下载通常会很快完成,不足以让用户忘记下载的是什么内容,或者是在短时间内就产生混淆。 如果连续下载单个作品(比如在作品大图页面里下载这个作品,然后点另一个作品再下载,这样连续操作),是不需要等待上一个下载完成才能开始第二个下载的。在上一个还在下载时你就可以对其他作品点下载按钮,所以是不需要确认“现在下载完的是哪个作品”的,你只需要等待所有作品都下载完就行了。

kenshin000003 commented 1 year ago

不是说一直单个下载呀。有可能是混着操作的。

比如:一个画师的第10页作品有几个我想要下载,别的不喜欢不想下载,下载完了,翻到第9页,画师进步了,这页的图我打算全下载,但是我去干别的事了。 回来就会因为指示信息,误以为这页我下载完了。

可能需求有些特殊了。但是我之所以这么麻烦地一页一页挑着下载,是因为:

xuejianxianzun commented 1 year ago

下载第 10 页的时候翻到第 9 页,可以把第 9 页单独开个标签页,直接开始抓取。不过估计你不想这么麻烦,所以就得麻烦我。但是我没有找到很好的提示方式,既不显得怪异也不会很啰嗦的提示。恐怕其他软件也很少会需要显示这种提示“现在完成的下载是上一个页面/或者第 1-3 页的文件”。话说其他 pixiv 下载扩展你试过吗,这个提示只有我的下载器需要吗?

你说的在标题后再加一个 [ ] 标记,我想别人并不知道这是什么意思,会引起疑惑。

下载时出现网络问题下载器可以重试,不需要担心文件缺失。

删除不喜欢的作品,这个没有好办法。虽然可以在下载前手动选择作品,避开不喜欢的作品,不过这也需要花费时间。

kenshin000003 commented 1 year ago

列表无法同步的话,那单页下载就是绕开的唯一方法了。哭了/(ㄒoㄒ)/~~ 那这样的话,我猜遇到这种情况的还是很多的了。那就需要一个好的注释了。

其他的扩展也试过,筛选掉不好用的,就剩这个插件了... 我的想法是,要么没有指示;要么有指示,这个指示应该是正确的指示。

我倒不是怕操作麻烦,我一个人操作麻烦一点没事,毕竟我发现了这个小坑,就可以躲开这个坑,我怕的是别人遇到这个坑造成了一点损失,那就不好了对吧。 我还想着要是实在不行我也掉掉头发整个这个插件的插件呢,但是JS没学多深,就网络课的水平...

[ ] 标记不太好,这点我现在才感受到,找到更好的再来说...

可不可以这样: 打开的任何页面,一开始就带着一个箭头,强化指示, 一旦用户下载了,哦,原来这个白箭头会变黑,那就说明白箭头是当前页面没下载过。 打开页面:[now:▷] 下载中:[now:▶] 和 [now:▷]交替 下载暂停:[now:||] 下载停止:[now:█] 下载完了翻页:[old:▶] | [now:▷] 下载完了翻页后下载:[old:▶] | [now:▷] ,转化为 [now:▷] ,然后转化为 [now:▶] 和 [now:▷]交替

kenshin000003 commented 1 year ago

吐槽:“▶”是原下载器就有的黑箭头,而是GitHub自动给转化成了蓝白色箭头,不是我故意要用的,不是我,不是我。

xuejianxianzun commented 1 year ago

要不换个思路,当下载完成后页面网址变化时,用另一个对号的文字以示区别,比如下面这些: ✔ ✅ ☑ image image image

对比现在的: image 感觉可以有,用哪个符号好呢?我感觉第三个比较好,因为它是黑白纯色的,与下载器所使用的其他标记风格一致。

kenshin000003 commented 1 year ago

(原来标签页也被会转化了啊) 我也觉得第三个可以,颜色一致,那就可以设计成: 打开页面:[▷] 下载中:[▶] 和 [▷]交替 下载暂停:[ || ] 下载停止:[▅] 下载完了:[☑] 下载完了,翻页(不改变页面类型):[✓] 下载完了,翻页(不改变页面类型),新下载:[▶] 和 [▷]交替 下载完了,在当前标签页改变页面类型:无 下载一半,翻页(不改变页面类型):[▶] 和 [▷]交替 下载一半,翻页(不改变页面类型),下载完成:[✓]

“你说的是在下载完成前就翻页了,会误以为第二页下载完了。”

下载完成前就翻页了,测试结果是只显示一种对勾,会误以为第二页下载完了。 下载完成后翻页,测试结果是只显示一种对勾,也会误以为第二页下载完了。

xuejianxianzun commented 1 year ago

我不太赞成。

打开页面:[▷],不需要,额外增加无意义的字符(或许对你有意义)会造成麻烦。比如添加书签时,标题会被浏览器自动填充为书签标题,用户还要手动删除这个特殊符号。另外光是看着也会让人觉得不爽。

下载中为什么要两个箭头闪烁呢?没必要啊,现在的 [↓] 箭头就可以了。用闪烁效果试图引起注意力会影响用户体验。

另外我打算在下载完成时仍然使用之前的 [✓],下载后翻页使用新的 [☑]。之前已经成为习惯的东西不要随便去改。

所以我只打算在下载完成时,页面网址与下载开始时不一致的话,把完成符号改为 [☑]。其他情况所使用的符号不会变化。

kenshin000003 commented 1 year ago
  1. 确实,“▷”确实有点多余了,因为之前不知道有 ☑ 可以用,所以想到用白箭头试一下,现在没有“▷”也已经能区分不同情况了,就不必要了。
  2. “[▶] 和 [▷] 交替”也是因为之前不知道有 ☑ 可以用,并且我看到了下载器已经实现了的闪烁,才想到的。原来用的是 [↓] 啊,我记混了,那到底是哪个闪烁来着?
  3. 仍然使用之前的 [✓],确实可以,避免混淆;

当初的想法是,☑ 相比于 ✓ 更醒目,心理感受会觉得更重要一些, 如果是一个黑对勾 ☑,表示当前页下载完,就会感觉,哦,这是当前页下载完了,更重要一些, 相对的,一个白对勾 ✓,表示下载完了,但是不是那么醒目,就会感觉,不是这个页下载完了,或者不是这个类型页面下载完的,就可以区分开。

如果沿用之前的白对勾 ✓ 的话,一方面会容易修改代码,一方面用户习惯了当初的对勾,也是可行的。

xuejianxianzun commented 1 year ago

下个版本会应用这个优化:

下载器添加了 ☑ 标记,它会在以下情况取代 标记:

  1. 下载完成时,页面网址相比开始抓取时发生了变化。也就是说用户在开始抓取之后改变了页面网址。
  2. 下载完成后,如果用户改变当前页面的页码(也就是翻页),则 会变成 ☑。

☑ 标记可以提醒用户:这次的下载任务不是从当前页面建立的。这在某些时候可以避免混淆。