【自动京东配送】我开发的第一款Chrome插件

以下内容为 15-4-26 发布 1.0 版本时所写。

开发时间:
说来惭愧,如此简单的一个小工具花费了我相当多的时间,总共一晚上加半个上午。毕竟是第一次开发 Chrome 扩展,但最大的问题是一开始的思路有误。

·

错误的思路:

已开始是这样想的:假如检测到用户正在浏览京东宝贝列表页面,就强制勾选上 2 个选项,并进行一次跳转。用 JS 很容易就实现了。

不过这样用户每次只能查看 “京东配送有货” 的商品,如果进行了选项修改,也会被插件设置到原样。也就是说京东自带的选项失效了,假如每次想看看第三方商品,还得去后台将插件关闭,显然不现实。

于是我打算将界面上的 “京东配送”、“仅显示有货”、“货到付款” 这三个按钮隐藏,并在插件中设置这 3 个开关。

QQ截图20150426163428

界面中进行隐藏很简单,用 JQuery 和 CSS 配合即实现。但设置界面却始终没法搞定,因为 Chrome 插件中的 JS 代码是注入页面中运行的,不能与插件的设置界面交互,连 LocalStorage 也不相通。

昨晚我就是在这个问题上纠结了好久好久,国内关于 Chrome 插件开发的资料很少,于是跑去谷歌官方英文原稿死去活来看了半天,虽然找到了解决办法,但实现起来太复杂了,消息传递函数,监听接口,再回调什么的,研究了好久,问题多多,最后上床睡了。

然后再床上翻来覆去时,我想到了解决办法!我竟然一开始就走了弯路,为什么一定要 “总是自动打开那几个开关”,只需要在网页第一次加载时将其打开不就可以了?!这样用户再关掉开关时,插件也不至于会再自动将其打开。也不用去隐藏页面中原本的开关了!

于是接下来,很简单的,搞定了这个插件。。。

 

8 thoughts on “【自动京东配送】我开发的第一款Chrome插件

    1. 谢谢反馈,2016-9 之后由于京东的版面更新,之前的版本都失效了。
      现已撤回相关链接。
      请选用高效绿色的 Userscript 脚本,以后我也只对该版本保持更新。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注