文章列表

动态绑定浏览器插件弹出窗口内容

查看评论
最近在重构插件,把之前和现在遇到的问题都记录一下吧,抛砖引玉,不对的地方,欢迎指正,: )在编写的插件的时候,我们经常会出现仅允许在某些情况下才可以弹出插件窗口的需求,如:用户打开了非插件页面、书签页面甚至是其他的插件页面。 chrome允许我们在manifest指定browseraction和pageaction,但是假如我们直接在manifest文件中指定了这两个json字段的内容,那么弹出窗的内容将会被『锁死』。browseraction和pageaction都包含一个叫做setPopup的API,允许我们动态的设置插件的弹出窗内容,解决问题的关键点之一也就是这个API了。 而在何时执行setPopup,怎么执行setPopup是另外一个关键点,执行过早,插件交互一样会如同诉求起源的问题一样,『锁死』弹出内容。 下面分别以两种类型的插件为例,这两种类型的插件互斥,manifest仅允许存在其中之一(仅简单描述插件的形式区别,暂不展开描述)... 阅读全文
, ,

Chrome runtime 不稳定(GC)导致插件绑定事件失败

查看评论
最近在重构插件,把之前和现在遇到的问题都记录一下吧,抛砖引玉,不对的地方,欢迎指正,: )插件在加载后(安装、插件页面重载、插件内部runtime重载),进行初始化时,概率性绑定事件遇到错误阻塞执行或者阻碍后续逻辑执行。TypeError: Cannot read property 'onBeforeSendHeaders' of undefined(…) 阅读全文
, ,

构建易于扩展的前端统计脚本

查看评论
抛砖引玉,简单聊聊前端统计的方案。随着一个公司规模的扩大,业务越来越繁荣,公司对于数据的依赖也会越来越明显。随便拍脑门定产品策略和『意淫』用户需要的产品需求无异于浪费公司和团队的资源,所以产品或多或少都进行了一些数据上的统计,来验证方向是否正确。用前一阵流行的话可以这么讲:『大数据下用数据驱动的方式来做事情。』 阅读全文

加速Ghost静态资源

查看评论
Ghost最近势头不错,连续几个月,基本每个月都是release 2个版本,不过也正是因为如此,ghost每次发布之后,API都会有些许变动。故,不建议在官方merge任何i18N功能之前,使用中文版本,毕竟后台没几个英文,前台主题可以依赖自己的主题模板去实现i18N,没有使用影响。下面分享一个简单修改的细节,可以使用七牛一类的CDN服务商无痛加速网站资源。 阅读全文
,

格式化UserAgent

查看评论
数据统计和降级实现基础之一,格式化UserAgent。 阅读全文
,