配合随机图片api,实现每打开新标签页就换壁纸

simpleNewTab

这是一个浏览器扩展程序,它会改变浏览器新标签页的样式。配合随机图片api,实现每打开新标签页就换壁纸的功能。

可以在微软扩展商店安装:点击前往

关于扩展

它的来源是:我有一个挺大的壁纸文件夹(>500张),我希望这些壁纸可以在浏览器的新标签页中随机展现,而现有的新标签页扩展,没有能满足这一需求的(起码我自己没找到)。 一些扩展只能从固定的那些壁纸库里随机获取壁纸;一些扩展允许用户将壁纸上传至云端,但他们云端也是有成本的,不可能装下我这么多壁纸; 一些扩展使用indexeddb存储用户选择的壁纸,但存储这么多壁纸,太浪费空间了,这相当于将整个壁纸文件夹复制一份。

所以自己动手整了一个。如果你有相同或类似的问题,可以试试使用这个扩展。

功能 当打开新标签页时,随机切换壁纸。 如果壁纸因为尺寸问题被浏览器裁剪,还可以拖动壁纸,将其调整至自己喜欢的位置。1.5.0起,可以通过快捷键Alt+S保存壁纸的位置,Alt+D删除保存的位置。快捷键也可以自行调整。只有默认壁纸和从api获取的壁纸能够保存位置。 如果是从旧版本升级上来的,可能需要前往扩展管理页的 键盘快捷方式(edge://extensions/shortcuts) 处手动设置下快捷键。 可以在新标签页建立便签,方便快速记下灵感。 按住Ctrl并点击新标签页任意位置即可建立一个便签;按住Shift并点击便签的标题即可删除该便签。 便签可拖动,可以改变大小。 也可以在可以在扩展页的“键盘快捷键”处,为新建便签设置快捷键。 特点

简单

新标签页只有壁纸和可能存在的便签。 没有时间显示。要看时间,请找你的操作系统。 没有搜索框。地址栏不是很宽敞吗? 便签只有标题栏和内容框,没有多余的按钮。

轻占用。壁纸源使用自定义的随机壁纸api,api可以部署在本机、内网中的其他设备如Nas,甚至是公网上,相较于使用indexddb存储用户图片的方式,使用api获取图片不会占用用户的存储空间。

后台缓存下一次将要使用的壁纸,提升慢速网络下的使用体验。

便签内容会在不同新标签页中同步。

使用扩展 这个扩展的核心就在于使用自定义的图片api。关于如何搭建api,请看这里 如果是在本机上搭建api,那么你的api地址就应该是http://localhost:3000/,这也是扩展的默认api地址。 当你的api开始工作,这个扩展应当也可以工作了。 2.0开始,支持了randomPicv2的api,也正因为此,才有了升级扩展程序的动力。 2.0.0把配置页框架从layui换成了Lulu ui。(不知道为啥就想换了)配置页中做出的修改,要刷新新标签页才会被应用。 配置

{ "bgColor": "#464646", //壁纸尚未加载完成时的背景颜色。 "apis": [ //用于获取壁纸图片的api列表。 { "api": "http://localhost:3000/",//api的地址 "type": "randomPicV2",//api的类型,现在有randomPicV1和randomPicV2。 "weight": 10,//api权重,影响随机选择到该api的概率。 "config": {//应用于该api的配置 "collections": [//这一项是用于randomPicV2的,可以控制api只从需要的收藏夹获取图片 "" ] } } ], "allowDrag": true, //控制新标签页的壁纸是否能被拖动。 "dragSenstive": 10, //控制拖动壁纸的灵敏度,数字越大,灵敏度越低。 "preferBing":false,//在API无法使用的情况下,优先使用用户设置的默认壁纸,而不是必应壁纸。缺失默认壁纸的情况下仍会使用必应壁纸。 "animation": { //壁纸在加载时,是有动画的哦! "delay": "0s", //动画开始的延迟 "duration": "0.2s", //动画持续时间 "function": "ease-out"//动画在关键帧之间的变化方式。 }, "keyframes": [ //定义动画的关键帧 [ "from", [ "top:100%;" ] ], [ "to", [ "top:0%;" ] ] ], "defaultNote": { //便签的默认样式。 "title": "便签",//这里会随着语言的更改而更改 "size": [ // 便签的默认尺寸:300px*300px 300, 300 ], "position": [ //便签的默认位置:距离左边300px,距离顶部300px 300, 300 ], "fontColor": "#000", //便签标题文字颜色 "content": "", //便签默认内容 "opacity": "60%", //便签透明度 "fontSize": "16px" //便签内容字体的大小 }, "notes": {} //便签存储的位置。如果此处有便签,也可以直接在这里修改。不要修改便签的id属性! } 其他

虽然chromium系浏览器有提供Storage API,但本扩展还是用了indexeddb来存储配置数据,因此也得以存储默认壁纸和缓存壁纸,优化体验。但扩展不会因此使用过多存储空间, 毕竟只存储了最多两张图片(除非是图片本身尺寸超大)。不过这扩展在数据库处理方面的代码比较简单,所以可能不太稳定,如果出现了莫名的bug,就可能需要删除数据库,重启浏览器了

如果出现了反复刷新新标签页,但壁纸不变的情况,且排除了是运气原因,请按下键盘上的F12键,然后找到控制台(Console),看看有没有后台缓存图片结果: true,如果没有的话,就请重启浏览器。 这个Bug的原因是,扩展的后台服务挂了,导致新标签页向后台发送的“获取并缓存新壁纸”的命令没有被执行,新标签页只能获取到旧的缓存。 虽然有后台保活的代码,但是没经过测试,不知其稳定性如何。如果有出现这个问题,说明保活代码也寄了,那我会很难受的

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。