View Code? Open in Web Editor
NEW
一款能让你一次开启复数窗口,在各种网站进行站内搜索的 Chrome 扩展插件。灵感来自于 Smartisan TNT 发牌手
Home Page: https://chrome.google.com/webstore/detail/poker-search/oojeodibjbmkclnocinjolfaigheengg
License: MIT License
JavaScript 5.52%
TypeScript 84.48%
CSS 9.41%
HTML 0.58%
poker-search's Introduction
poker-search's People
Contributors
Watchers
poker-search's Issues
目前的窗口高度是 1000,对于 1080P 的显示器是不行的,需要能根据屏幕来自适应窗口高度
选到现在这个情况,就是显示1层和2层,3层4层就不显示了
选到3层,就是123显示,4不显示
拉到4就是全开,拉到1就是只显示1
注意:没有那个虚线
Props 的嵌套太多啦,早该用 Context 了
例如我将某个卡牌中的超链接打开了。
这时浏览器会变成最顶部的窗口,要是我想重新查看搜索结果,就变得很麻烦了。
要是能够点击底部任务栏的图标直接将所有页面回到顶部就好了。
当然,我觉得这只是一个妥协的方法,应该还有更好的方式。
似乎没有直接探测的方式,只能用间接的手法。比如利用 runtime.connect
循环连接,一断开就能判定是离开了 popup 页面,也就实现了这个点击改变图标的效果
现在启动窗口都是在第一个屏幕启动多,如果有多屏的话会有点不畅。
思路
- 通过 chrome.system.display.getInfo() 获取到屏幕信息
- 用当前所在的窗口来判断处于第几个屏幕当中
- 得出屏幕后,更改
Base
的状态
场景
假设用户自己打开了50多个页面,标签小且混乱
若能以发牌手形式展现,将会清晰明了并能同时多窗口浏览。
注意:需要删除掉用户打开的标签页,不然内存会爆炸的
一个窗口本来只能显示一列。但这种方式对于更适合用大屏来查看的网站便显得不太方便:诸如地图、一些资源下载站等。
但目前的问题在于如何让用户在设置页面中,直观且优雅地随意更改一个页面的显示宽度。
现有发牌后,点击页面最大化按钮,需要能合并到之前的浏览器窗口上。
这个功能很重要,用户需要能得知页面的URL、进行收藏或进行各种页面上的处理,就需要浏览器原有的窗口栏功能。
因此,需要实现一个限制:点击发牌窗口的最大化时,原有的窗口保持不变。
也就是说:仍然处在发牌手列表里,没有删除或者隐藏。
只是把原有页面的链接,通过新标签的方式打开了
增加以 Tag 分层的功能
每一层都将围绕 Tag 进行发牌。
例如第一层是搜索,第二层是社交,第三层是商店
假若用户在给 10 个网站都打上了商店标签,而显示器一层只能显示 6 个。
那么超过的页面数量,便分配到下一层,下一层只显示 4 个页面。
用户能给已加入卡组的网站打上 Tag
在设置页面中,用户能 创建 Tag(就像 Notion 创建 Tag 一样)
并给已收录的网站进行 Tag 的修改
智能分配 Tag
这个可能要接入哪里的数据库,分析网址,辨别是什么类型的。
接着就归类到固定 Tag
因为要在 background script 的阶段就要启动 createBase,用于获取控制窗的 createData.left
和 createData.top
。但是 createBase
会计算标题栏高度,可是这种计算需要打开控制窗(/control.html)后才可以进行(要得到 window.innerHeight
)。
在进入控制窗之前标题栏的高度都是使用默认值30
。
解决思路
- 在插件安装后,在触发的事件里计算标题栏高度并缓存(调出一个窗口以取得
window.innerHeight
)
- 之后只需要读取这个缓存起来的标题栏高度即可
我先打开了第一层。
他们在加载了。
然后再打开第二层,打开结束后调用一次切换层的方法,这样就能把第一层再次调成最前面
那么第二层的展开是通过0高度来展开的,这样就不会碍事
0高度展开后调用那个切换层的方法,就自动展开为现在第二层的窗口高度
要是每个页面都有『最小化』『最大化』『关闭』的按钮,容易混淆是非,用户不知道按哪里才能全部关闭。
我记忆中 Chrome 那些谷歌关联登录时,那些页面是没有这三个按钮的。不知道官方手册有没有提供这个方法进行展开?
应该不至于做 UI 测试。只要覆盖最核心的几个部分就可以了,比如 src/core
和 src/options/
里的 updater
现在每次搜索都只能输入个poker实在是繁琐,容易忘记这回事。
要是能一打开浏览器就tm是poker的搜索框就好了
未来的 options 会有新的扩展,这时候需要做处理。利用 Options.version 来判断版本,不一致则更新至新版本的 Options
大屏与竖屏用户没必要浪费空间,受限于横向空间所铺设的页面。
我们能够将上下一分为二,在同一层获得2倍的页面数量
假设横向能铺6列,上下分开后,一层能铺12页。
思路
用户每次新建一个页面后,需要能刷新一下图标。
现在新建页面后,自动把『?图标』当成缓存图片了
需要优化编辑站点的交互(加动画)
需要优化删除站点的交互(加动画)
清空掉所有的站点的时候,需要能提醒用户(控制窗里也加上这种提示)
用户能够点击某一列中某一个标题栏,被点中的那一页便会展开,其他的页面将会收缩。
注意!
这一层(这一行)下面的页面被展开时,将其收缩至下面,而不是切换层级。
迫切需要 Context 来解决 adjustWidth
的问题,让 adjustWidth 的触发变成由子组件来决定而不是观察 options 状态的变动。
Originally posted by @VecHK in #45 (comment)
在地址栏中,增加一个类似收藏的按钮。
点击后便会自动加入到发牌手中,下次搜索时便会启用。
现在全局快捷键( focus-layout )在 Poker 控制窗未启动的时候是调出控制窗,进入了控制窗后才会是 focus-layout 的真正功能。
可是目前用快捷键打开控制窗后,再按快捷键没有反应,并没有切换回来。而是要输入了内容,打开了搜索窗口后才能切换回来。
两边的【块】高度没有对齐。
再加上可能网站的图标会进行更改或无法读取,此时应给用户一个机会执行一次图标刷新。
这个图标放在图片中,右上角红框的位置(前提是右边的设置块往下移,对齐了左边)
在总控制窗口中,增加圆形⭕️,Pache 色底的上与下的按钮。
控制切换一整层的功能。
应该要能缓存下来,不要每次等到 React 渲染的时候又重新获取
- 本地的 Poker页面,可在新建窗口、新建标签页中直接见到 Poker #39
- 选中关键字后,右键能使用发牌手搜索关键字 #9
- 点击 popup 栏后出现搜索框,就像谷歌翻译那样 #63
- 在用户使用搜索引擎后,出现提示:找不到想要的?试试 Poker #143
根据 @DBinKBB 的建议,可以把 popup 栏做成像谷歌翻译那样,选中文本后点击 popup 图标就打开搜索控制窗;没有选中就打开 popup 栏,里边有输入框,输入完后就打开搜索控制窗。