开工大吉!全新 Chrome 划词小窗搜索扩展代码上线! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium 在 Chrome 里使用 vim 快捷键
namesc
V2EX    Chrome

开工大吉!全新 Chrome 划词小窗搜索扩展代码上线!

  •  1
     
  •   namesc 2019-02-10 15:35:26 +08:00 3516 次击
    这是一个创建于 2436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    hcSearche

    一个支持自定义搜索引擎的 Chrome 划词小窗搜索扩展。

    https://github.com/hellonamesc/hcSearche

    扩展设想

    1 月 31 日我在 V2EX 看到帖子《有没有什么 Chrome 插件,可以实现划词翻译类似的划词搜索?》,当时正好在研究 Chrome 扩展,于是顺手做了一个简单版本。

    我发现这东西比我想象中的实用性高,打算改进,做成一个可以自定义搜索引擎的划词小窗搜索扩展。于是我综合帖子《应 V2EX 老哥请求做了划词右键小窗搜索 Chrome 扩展》下的建议,花几天时间逐步改进成了现在这个版本。

    扩展功能

    简单来说,在划词时自动弹出图标或者点击右键后弹出图标,点击图标弹出小窗搜索。

    截图

    搜索引擎可以定义三种类型:AJAX 数据接入 、iframe 内联、 新标签页打开,前两种是在当前页面小窗搜索,后一种就是打开一个搜索网页。

    具体区别和怎样自定义接口我在扩展的帮助页面写好了,这里不多说了,有空再补充详细说明。

    扩展默认设置内置了三个搜索引擎设置

    1. 必应。(使用我个人的云函数 API 处理必应搜索结果返回,提供给大家体验自定义 AJAX 数据接入的效果)
    2. 百度。(使用 iframe 内嵌百度移动搜索页面,大部分网站内支持,个别网站因为 CSP 策略限制无法使用)
    3. 谷歌。(直接打开谷歌搜索页面,用于体验 新标签页打开 效果)

    欢迎大家在自定义搜索引擎页面自己测试设置。

    扩展后续

    搜索只是一个基础功能,我计划后面写几个 API 用于查询汉字读音、英语翻译、百科查询等。当然,只计划提供代码给大家自己部署到自己的服务器使用,暂无能力提供公共接口。

    此外,还计划新增一个站内搜索图标,当在 V2EX 站内点击时就打开 V 站搜索,当在 YouTube 点击时就打开 YouTube 搜索,以此类推。

    扩展开发

    我在这方面还是萌新,基本是面向搜索引擎编程,一边写一边翻文档一边查资料,全部纯手写。

    可能存在不少 BUG 或者不合理的地方,欢迎批评指出和贡献代码。

    目前我有一个地方是比较需要建议的,就是搜索引擎有三种类型,但是划词图标样式我还想不到通过什么方式将其类型区别体现出来,求建议。

    正式发布

    要正常使用少不了发布到 Chrome Web Store,最初版本 1 已经发布上去了,其实最新版 3 也发布上去了,但是审核奇慢,于是现在能看到的还是版本 1。

    原本想审核通过才上传源码,可是几天过去了没有任何动静,决定还是先发代码吧。

    至于商店安装版,慢慢等待审核吧。链接 → Chrome Web Store

    Github

    萌新求建议求支持求 Star

    https://github.com/hellonamesc/hcSearche

    11 条回复    2019-12-26 00:14:17 +08:00
    namesc
        1
    namesc  
    OP
       2019-02-10 15:40:41 +08:00
    Chrome Web Store 上面的还是旧版,要体验新版的 V 友把项目下载到本地后,打开 Chrome 开发者模式,点击“加载已解压的扩展程序”选择 extension 目录即可使用。
    Artists
        2
    Artists  
       2019-02-10 16:29:09 +08:00
    泼盆冷水,感觉似乎用处不大。
    namesc
        3
    namesc  
    OP
       2019-02-10 17:00:39 +08:00
    @Artists 我刚写第一个版本的时候也这么想,就想练手,边写边测试发现比想象中好用,一个扩展可以解决我好多个需求。

    比如遇到不懂的单词想查一下大概意思,遇到不懂读的汉字想查一下读音,遇到网友推荐的书、电影什么的想简单了解一下,我用这个扩展设置好几个查询网站,一键就可以打开目标网站查询,或者通过自己的接口在小窗里展示,就免去了先去搜索引擎搜索再打开目标网站的麻烦。
    Hilong
        4
    Hilong  
       2019-02-10 17:05:34 +08:00 via Android
    @Artists 还是很有用的。这是之前 v 站里的老哥提的需求,楼主两天就赶出来了,话说楼主过年都没休息吗?又发新版本了
    tianzry
        5
    tianzry  
       2019-02-10 17:05:38 +08:00 via Android
    不错的想法,能提高效率
    namesc
        6
    namesc  
    OP
       2019-02-10 17:28:58 +08:00
    @Hilong 没休息。看来得做几个开箱可用的测试 API 才能让不了解的人认识到这个扩展有什么用啊。
    ooTwToo
        7
    ooTwToo  
       2019-02-10 17:29:54 +08:00 via Android
    command+T 一个快捷键的事情。。
    Artists
        8
    Artists  
       2019-02-10 17:43:17 +08:00
    @namesc #3 你这么一说,似乎还可以
    namesc
        9
    namesc  
    OP
       2019-02-10 17:45:48 +08:00
    @ooTwToo 此言差矣。

    当你在页面中遇到 想查拼音以及解释,遇到 Aquiver 想查中英翻译,遇到 阿甘正传 想看下剧情介绍,是一个新标签页能解决的事吗?

    你只能要么划词右键打开搜索引擎然后从搜索结果页,再点一次链接进入目标网站;要么打开新标签页输入关键字 TAB 切换到你设置好的搜索引擎,然后再输入你想查询的字符回车查询。

    都不如这个扩展划词了一键小窗查询方便,尤其是在阅读长文的时候,自己搜索要打开新网页去看,看完关掉再回来继续阅读,而用了这个扩展就不用跳出当前网页,直接小窗看下查询结果,然后继续往下阅读。
    Mayuri
        10
    Mayuri  
       2019-02-10 18:01:49 +08:00 via Android
    不错,支持一个
    Starkay
        11
    Starkay  
       2019-12-26 00:14:17 +08:00
    很棒的想法,超强的执行力,希望老哥继续更新,优化体验,从能用提升到好用~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2737 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:43 PVG 22:43 LAX 07:43 JFK 10:43
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86