本文来自依云's Blog,转载请注明。
没找到这个家伙的 Firefox 版本。想它只是改改 Trello 的 UI 什么的,于是要来 crx 文件,直接把它的 JavaScript 文件扒出来了(顺便也发现了它的 GitHub 地址,不过已经晚了)。
移植过程中解决的问题:
- PNG 和 CSS 等外部文件。两个小的 PNG 图片,我直接使用 Data URI 内嵌了。CSS 我用 yuicompressor 压缩之后也通过脚本加入了。
-
jQuery 1.7.1 与 Trello 所使用的 2.0.0 冲突了。改成直接使用页面上已有的 jQuery,顺便还省个不小的依赖。在 GreaseMonkey 中得
用加上unsafeWindow.jQuery
来访问@grant: none
指示。 -
.live()
方法没了……按文档改用.on()
。共四处改动。.on()
在替代.live()
时语法不一样要小心不要弄错了。 - 匹配 Board 名的正则失效了,修之。
PS: 火狐按住Ctrl键可以创建多个选区,在可视化编辑器里可以同时调整多个地方的样式,真方便呢=w=
Nov 04, 2013 08:28:13 PM
你的脚本我没找到 GM_xxx 这种 GM 扩展函数, 因此最好 GM 1.0 所推荐的那样,在 mettadata 里声明
grant none
这样脚本就能脱离复杂的权限沙盒,而会使用简单的作用域保护沙盒。不需要用到 unsafeWindow 这种危险做法了,而且直接用 $ 或 JQuery 就行了。安全性更好,性能更好,对第三方库兼容性更好了。
Nov 04, 2013 10:47:40 PM
原来如此,已经更新,谢谢了!怪不得 Chrome 插件版需要自带 jQuery 呢。
不过我很好奇,为什么 unsafeWindow 是不安全的呢?
Nov 05, 2013 10:17:34 PM
看 http://wiki.greasespot.net/Avoid_Common_Pitfalls_in_Greasemonkey
Chrome 自带 JQuery 好象是因为扩展的资源必须自带,不能从外部引入。Firefox 扩展也是要求这样的。
Nov 05, 2013 10:57:20 PM
明白了,谢谢!
Nov 08, 2013 06:42:09 PM
果然firefox可以ctrl按着多选哎
特地换了firefox试试。不错不错。