存档:

文章标签 ‘userscripts’
6

用户脚本比扩展更省内存吗

2010年4月8日

感谢读者 kuber 的投递。

谷奥和chrome迷最近都转载了一篇ghacks的文章"为什么说 Chrome 能用脚本就尽量不要用扩展",因为用户脚本比扩展更省内存,所以建议用户尽量用user script。因为我自己装了很多扩展,而且开发了几个扩展,以前关注过这个问题,想借此机会说明一下我的看法:扩展未必比脚本消耗更多资源,如果扩展开发者适当地使用Chrome 扩展API的话.

要说明这个问题,首先要看看一个Chrome 扩展包括了哪几个部分:
popup page(弹出页面): 当你点击地址栏边上的图标时弹出的页面. 这个页面只在你点击时创建, 当鼠标移开页面关闭时就会被销毁掉. 因此在你不使用这个页面时不会消耗资源. 很多信息查看的插件就只使用了popup page, 如China Stock Chart;
content scripts(页面脚本): Chrome 会把一段javascript 脚本注入到符合要求(由开发者指定)的页面中, 好像页面本来就引用了这段脚本一样, 并在Chrome 加载完页面后自动运行这段脚本. 很多修改页面布局和使用快捷键的扩展都使用了这种方式. 在Chrome 中使用user script 其实就是由Chrome 自动把脚本包装成一个只有content scripts的扩展, 这也是Chrome 不需要装插件就能使用user script的原因.
background page (背景页面): 所谓背景页面就是在后台自动运行的一段程序, 虽然也是用html+javascript 写的, 但是用户是看不到的. 当Chrome 启动时会启动所有扩展的背景页面, 并且这些背景页面会一直呆在Chrome 里面直到关闭浏览器. 因为它是一直在运行的, 扩展可以定期执行一些工作, 比如说定期检查你的gmail 邮件. 还有就是出于安全考虑, 在Chrome中页面脚本和弹出页面不能直接交换数据, 扩展也不能直接和其它扩展交换数据, 必须通过background page来交流.

chrome-extension-1

从上面的介绍可以看出, 消耗的资源从上到下越来越多. 只要你不点击图标, popup page 不会使用资源, content scripts 只存在特定的页面中, 并且只是响应页面上的事件. 而且content scripts其实就是user script, 因此消耗的资源和user script是一样的. background page 则是最大的资源消耗者. 其实在Task Manager 中能看到的扩展都是因为它们使用了background page, 以实现user script 所做不到的事情. 所以我的结论是"理论上"使用实现相同功能的user script 不会比扩展节省资源.

google_chrome_task_manager

但是, 这个世界坏就坏在有但是 :-) , 在实际我们使用的扩展中有不少其实不需要使用background page 却用了. 比如说一些划词翻译的扩展, 主要是响应用户在页面上鼠标选词事件, 其实并不需要background page. 我看过其代码, 它在background page中其实什么都没有做, 但是却加了一个background page常驻在浏览器的内存里面. 装多了类似的扩展自然你的chrome 消耗的资源就多了, 对于这种扩展显然 user script 或者bookmarklet 更合适.

Moreover, 我曾经想过为什么很多扩展不需要background page却吃力不讨好地加了一个放在扩展里面. 我的猜想是, google 以前给出的chrome扩展开发教程里面的Get Started 示例包含了 background page, 可能有些开发者把那个示例当作新扩展的模板, 但是忘记在适当是时候去掉了.
kuber@FeedzShare

原文地址:http://www.cnblogs.com/kuber/archive/2010/04/08/Why_Userscripts_Is_Not_Better_Than_Extensions.html

11

让你的 Chrome 少吃些内存的4种方法

2010年4月1日

虽然1000个拒绝 Chrome 的人会有10000个不同的理由,但是我相信很多人都会提到 Chrome 占用系统内存过多的问题。其实我们有很多办法可以解决这个问题。

1,在任务管理器中增加一个清理内存按钮:

chrome-mem-purge-sdf

在启动 Chrome 时加上 --purge-memory-button 这个启动参数的话,Chrome 任务管理器中就会出现如上图所示的 Purge memory 按钮,点击即可立即清理当前被 Chrome 所占用但是处于未使用状态的内存。

2,3 减少使用扩展,改用 Userscriptsbookmarklets

chrome-bookmarklets

Chrome 的扩展同样会占用内存,其实一些简单的功能完全可以通过 Userscriptsbookmarklet 来完成。值得一提的是,Chrome 可以直接安装 Userscripts,而不需要像 Firefox 那样依赖于 Greasemonkey

4,使用内置的 Flash 插件:

google-chrome-flash

这个目前仅限于最新的 Dev 版本,使用 --enable-internal-flash 参数启动 Chrome 即可打开内置的 Flash 插件,毫无疑问要比传统的 Flash 插件更节约内存。

via downloadsquad

0

默认打开 Search Options 面板的用户脚本

2009年12月9日

chromium-search-options-always-on

Google Search Options在5月份首次亮相,并且在之后的几个月不断增强,近期更是加入了翻译搜索实时搜索等强大功能。直到现在为止,Search Options面板默认还是关闭的,如果你用Firefox的话,可以用Greasemonkey加载这个用户脚本来实现让搜索结果页默认显示Search Options面板,如果你是Chrome浏览器用户的话直接把脚本当成扩展安装就行了,我在Chromium 4.0.268.0 for Mac上测试通过。

另外,你也可以用这个帖子里面的方法进入UI Jazz,这个界面中搜索结果页的Search Options想关都关不掉。。。

via washingtonpost

4

给怀旧的用户,如何禁用 Google 的光秃秃首页

2009年12月5日

 google-home-no-animation

萝卜白菜,各有所爱,以前我们千方百计设法进入光秃秃首页,现在Google已经把带按钮的光秃秃作为默认首页,又有用户叫嚷着要回到满是链接的页面了。

恩,如果你也是这么想的话,这个用户脚本可以实现你的愿望,Firefox用户可以使用Greasemonkey来加载这个userscriptChrome用户的话……直接下载,当扩展安装,搞定!

back-to-original-google

via googleos

3

Chrome Dev for Linux 升级到4.0.249.21

2009年12月1日

chrome-dev-linux-4024921

今天Linux版Chrome Dev单独进行了升级,具体更新如下:

  • 禁用了 –enable-user-scripts 这个命令行参数,因为现在已经可以用扩展模式安装userscripts了
  • 移除了 toolstrips API,因为新的扩展体系已经不需要这个条了
  • 更改了简体中文,日文,韩文,泰文的默认css字体,看起来不那么非主牛了
  • 修复在某些新的系统上无法检测到KDE4的bug
作者: 分类: Google新闻 标签: , , ,
5

帮助你从国内视频网站下载视频文件的 Chrome User Script

2009年11月23日

4.0.237.0版开始Windows平台的Chrome Dev 已经支持直接安装UserScript,于是国内网友Kuber写了一个可以从国内视频网站下载视频文件的UserScript:Kuber's Video Downloader,安装了脚本后, 会在视频播放页面的左上角显示一个半透明的图标, 点击图标转到flvcd.com 的视频下载地址解析页面。

video-download

目前支持的视频网站有:
tudou.com
youku.com
56.com
ku6.com
6.cn
video.sina.com.cn
video.qq.com
tv.sohu.com

安装之前先确认你的chrome 是4.0.237.0 以上,然后点击这里进入userscripts.org的页面,再点Install 按钮开始安装, 安装中需要两次确认。

via kuber

作者: 分类: Google技巧 标签: , ,
4

推荐一个 Chrome 上可用的脚本:RSS Tool for Chrome

2009年11月14日

感谢读者,同时又是这个脚本作者 kuber 的投递:

虽然Google 去年底就宣布要为Chrome 加上RSS支持, 到目前为止(4.0.237.0) Chrome 还是没有一丁点RSS 功能. 之前一直用这两个bookmarklet, 分别用来检测页面上的RSS 和预览/订阅RSS。

rss-chrome

继昨天的视频下载脚本后, 今天又写了一个RSS Tool for Chrome. 主要功能包括:

  • 自动检测页面中的RSS链接, 在右上角显示一个半透明的RSS 图标, 链接到Google Reader Lite 预览RSS.
  • 修改了Google Reader Lite 的布局, 增加了订阅链接. 现在支持Google Reader, 鲜果, 抓虾和网易有道.
  • 如果当前页面是RSS/ATOM XML, 自动转到Google Reader Lite预览, 当然也有订阅链接;

目前还没有上传到UserScript.org, 可以从我的blog安装. 如何安装user script请看谷奥的介绍文章.

Takeaway:

RSS图标是从iconfinder上找到的. 这个站点挺实用的, 可以根据关键字查找图标,还能用尺寸过滤.

在user script 中可以把图片编码成base64字符,写到脚本中,不用每次从服务器上获取了. 我是用这个在线base64编码站点, 可以对上传的文件做编码.

可能因为还在开发中的原因, 目前Chrome Extension 管理界面中user script 的版本号永远是1.0, 不管你在脚本中声明的版本是多少. 也因此不能reload 新版本, 需要uninstall 再重装

Via Kuberski - 酷伯司机

20

Windows 版最新的 Chrome Dev 已经支持直接安装 UserScript

2009年11月9日

还记得我们上周报道过了Chromium支持将UserScript直接当作扩展安装吗?经过测试,4.0.237.0版本的Chrome Dev for Windows已经集成了这一功能!使用方法非常简单,到userscripts.org选中想要安装的脚本,点INSTALL即可。

chrome-userscript-extensions-1

之后可以通过chrome://extensions/来轻松卸载。

chrome-userscript-extensions-2

这下子大家不用羡慕FirefoxGreasemonkey了吧?不过经我测试,LinuxMac OSX版的Chrome Dev都还不支持这一功能,Chrome的团队,加油呀!

6

恢复中日韩 Gmail 字体的 Chrome 扩展以及 GreaseMonkey 脚本

2009年11月5日

gmail-fail

不知道Gmail团队这两天在想什么,他们替换了Gmail的默认字体,造成的结果极为惨痛——中日韩三大东亚文字在Gmail里面看起来极其难看,如上图。

Google中国的工程师@junyu以私人身份推出了补救方案:针对Chrome的扩展以及针对Firefox的GreaseMonkey脚本,安装后你的Gmail就可以恢复原样了。

gmail-fail-back

下载:crx扩展 for ChromeGreaseMonkey脚本 for Firefox

UPDATE:junyu还告诉我们说,

Gmail 也会尽快改正这一点, 所以这两个脚本只是一个非常简单的临时补丁。

via @junyu

7

最新版 Chromium 支持将用户脚本转换为扩展

2009年11月4日

Chrome没有图形界面的用户脚本管理器一直是个让人很头疼的问题,而最近的Chromium加入了一个全新的功能,可以将用户脚本转换为扩展安装,这意味着用户可以用Chromium打开userscripts.org随意选择自己想要的脚本并一键安装。

chromium-userscript-convert

安装后,用户脚本和其他的扩展一样出现在chrome://extensions/这个界面中,用户可以在这里方便的禁用或者卸载脚本,和Firefox比起来,甚至连Greasemonkey都不用安装!

这个功能目前仅在Chromium中提供,相信Dev分支的Chrome也很快就会加入这个功能。

via googleos