Closed jc3213 closed 2 years ago
@daiaji 你试试看最新的测试版,我目前只做了档案的新建,删除,设置为默认。右键菜单反而寸步难行。
因为删除
,设为默认
有弹出confirm
确认窗口,必须在about:addons
窗口下才能运行。
@ivysrono 如果不介意的话你也可以帮忙测试一下。就是这个功能很初步,只能在需要的时候切换。虽然比复制粘贴JSON-RPC的信息方便点点……
没看见这功能……
你确定是从这个issue下载的源码?
分支……,那没事了。
分支……,那没事了。
没人测试,给反馈我不知道这个效果如何……后续怎么修改啥的,还是推到重来?我自己根本没这需求,所以当时重写的时候很多东西都没留后路,自己的需求怎么简单怎么来,然后再优化性能啥的……
现在来看就头皮发麻
显示有问题,捕获了链接会显示用的默认RPC。
这两天都在外没空测试……
右键发送链接,直接次级菜单显示RPC1 RPC2就完事了吧。加个按键捕获怎么样? 万一aria2下不了,临时按住按键,然后点链接用浏览器自带的下载器下载。 扩展现在都不能展开次级菜单了? 不对,Tampermonkey页面右键有次级菜单。 那定义右键发送到第二RPC吧。 或者按下热键Ctrl捕获链接到第二RPC。 不然这交互非常有问题。
显示有问题,捕获了链接会显示用的默认RPC。
现在右键菜单跟抓取下载都是默认,你只有修改默认档案后才会变化……(仅限设置里)
万一aria2下不了,临时按住按键,然后点链接用浏览器自带的下载器下载。
这个实现不了,不管用哪个API,因为内容跟后台交互的问题。
右键发送链接,直接次级菜单显示RPC1 RPC2就完事了吧。
因为底层代码的问题,你看下background就知道了……,这里要大改,只是小改的话就是做个判断,下载前临时修改全局aria2_jsonrpc
跟aria2_secret
,然后下载触发后改回来。但是这个会影响一些东西。比如你正在准备抓取然后又操作了右键菜单的不同按钮。
不然这交互非常有问题。
我前面也说了,这东西是因为你提出我才开始加,我个人是没这个需求的,popup那边也没做切换,感觉popup的代码也要改不少,甚至keep-alive相关也要变。就挺难受的。
把aria2.js
以class形式重写了,用以适配多档案……
更新到最新的12.1了,果然用class就会简单不少。回头把popup做了
同步基础代码到3.13.0
同步到3.13.4
3.13.7的两个版本区别是?
参考 https://github.com/jc3213/download_with_aria2/discussions/31
主要是把需要用Web Socket
连接的notifications
相关的内容放到一个独立的Shared Worker
里了,然后通过worker.port
进行信息交流。让Background
跟Popup
只通过一个WebSocket
连接就能同时实现交互。并且优化了部分逻辑(这个忘了放到普通版本以及Multi Profile
里面了)。
刚开启discussion的时候有不少问题,现在已经优化得差不多了。我主要是看将来Service Worker
可以访问Shared Worker
因此才考虑这么操作的,目前还不准备并入主分支或者Multi Profile
分支。
至于Multi Profile
,有机会也会考虑好好优化一下逻辑
3.13.7不能下载北大法宝了,别的没多测试,退回3.13.6
尽量用新issue吧,老issue翻起来太麻烦了
另外如果可以的话提供下控制台的错误信息。理论上3.13.6正常的话3.13.7也不会出错啊,毕竟没改任何东西。更多的是优化aria2.js
PS:貌似你传的是multi profile版本……这个要明天排查了。
PS2:仔细想想因为修改aria2.js导致multi profile部分background.js也修改了不少内容,因为chrome版工作正常,firefox那边忘了做优化(最近一直在做sharedworker)试试看 最新源码
PS3:整个multi profile这边重复代码很多需要优化。但是现在的文件结构有问题。libs/main.js 是部分Firefox,Chrome通用的代码(实际还可以从background里移出来更多)这样做能大幅减少维护的难度。但是部分内容又跟popup,options相通,导致我现在的关联关系很乱。
我想找个机会重新整理文件结构。但是每多1个文件,会明显的增加程序的容量(解开后4K,压缩后1K+)让我有点难受。因为现在main分支控制在解压后刚好占用100K这个位置……
貌似3.13.8好了。 那我今后应该传哪个?
3.13.8是因为我把代码啥的重新整理了一下,以后应该也很难再出问题了。
既然已经传了multi profile就按multi profile来吧。shared worker这个我感觉看情况再说。主要manifest v3直接用service worker。
service worker里面无法访问shared worker或者web worker。同时service worker会自动休眠无法keep alive,也就是任何setTimeout或者setInterval都会在休眠后自动失效,web socket连接也会自动断开。
然后谷歌也说要强制扩展迁移到manifest v3。但是有一说一,service worker的性质就不适合做background,所以我看看其他扩展怎么做的兼容再说自己这边。
关于
底层代码基于 3.13.4
主要功能
Options
Save
if you have made any changes to current profile16
charactersPopup
保存
,否则所有修改都将作废Popup
可以修改默认档案(用于抓取,以及显示所有下载任务)下载
Source code
分支
Branch
修改点
Changes
截图