注意:Google已终止了Gears的支持,并且全面转向HTML5,请不要再尝试过时的技术。
原文:
好吧,我承认,在我研究清楚Gears Desktop API的使用方法并给自己的Blog增加“Shortcut”按钮之后,我发现原本是一个“添加到收藏夹”就能完成的功能,竟让我搞的如此复杂……这篇文章原本计划叫做“通过Gears Desktop API给你的Blog添加生成桌面快捷方式的按钮”,后来想想还是算了,太二了。
但不管怎么说,这也算是我的学习成果吧,所以思前想后,还是决定将其记录下来。
Gears的Desktop API功能其实是比较强大的,它不但可以在本地主机的桌面上升成指定图标样式(可以有别于Favicon)的快捷方式,更重要的是它可以调出本地文件选取的对话框。不过目前如果不是做Web 2.0网站,恐怕后者用处不大。所以主要研究的是调用API生成桌面快捷方式的方法。
根据Google官方给出的例子:
我适当地修改成了我自己的版本,请参照代码中的备注修改:
//Gears Desktop Shortcut Start
//加载Gears初始化脚本文件
// Gears Desktop Shortcut End
至于Gears的初始化文件,建议使用下载下来后传到本地服务器上,这样无论在速度还是安全上都方便一些。初始化文件的下载地址是:http://code.google.com/apis/gears/gears_init.js
倘若是使用WordPress的话,大可把这段js代码添加到footer里面,然后在希望的位置通过链接或按钮来调用,方法如下:
- 链接
创建快捷方式
- 按钮
这样一来,就可以在桌面生成指定的快捷方式了,并且即使没有安装Gears也没关系,因为有方便的向导来指导安装。
OK,就这样吧!
评论
《“调用Gears Desktop API”》 有 27 条评论
试试新的OpenID的效果
看看两个框是否都能用
换了个头像,不知道好看否……
老大,你站怎么这么奇怪,先是载入的时候出现一大堆的第三方东西,留言好像也不太对,最后总是有个Alert出来。
这个第三方的问题我的确需要反思一下,加载的第三方js过多了……有悖于我之前一切从简的初衷啊。要不……我把他们的js都下载到本地?!!
啊,明白了,OpenID的那个HTTP必须要删掉才能正常评论……
这确实是个问题啊,我得研究一下,要不会比较麻烦。不过倘若不点击OpenID那个框就不会出现这个情况,主要是ID Selector造成的,但用起来倒是比较方便。
测试新地址栏
标准地址框使用方式测试。
取消coComment之后检测提交速度。
增加AJAXComents后测试提交速度
再次测试速度
自动提交测试
绑定OpenID到帐号后,评论名称就不会链接到原来的博客地址了,除非是以非用户身份评论,就像现在这样。(测试回复)
倘若是用右边的ID Selector按钮,就可以很方便的使用OpenID发表评论,OpenID将会把你的个人资料如用户名和邮箱地址返回至Blog内作为评论的用户名和邮箱地址,所以如果使用OpenID发表评论,姓名和邮箱是可以不填的。(测试回复)
目前除了使用OpenID发表评论会由于和OpenID提供者服务器交换数据而导致延时较长外,一切都很不错。
速度好些了,这次注册了个OpenID,试试看。
@Francis, 你上来这会儿还没弄好呢,今儿晚上下了血本儿,先是把ID Selector的js下载下来改,顺便还调整了一下颜色,然后干脆把但凡是引用的js能下的都放在了本地,引用的图片也是,又加了WP Super Cache插件,我想应该没啥问题了吧?(测试回复)
新安装了reCAPTCHA,测试一下好用否。先是非OpenID评论。
再接下来是OpenID评论。
如果输入的是管理员的OpenID,验证码是完全拦不住的,现在删掉了管理员的OpenID,再试一次。
结果,可以正常拦截。效果非常不错。
看不到代码呢?有意思
抱歉是因为WP-Syntax插件升级了,而且用法也改变了,所以没能显出来。
试了试你的desktop api脚本,在ie,ff,chrome下都没有效果呢。在ff下调试报错:cannot create cross-origin shortcuts,能否赐教那里出了问题?
抱歉啊,这个是去年弄得东西,而且当时认为将来会在桌面图标上显示网站文章的更新数目,所以就研究了一下。现在已经忘得差不多了,并且由于执行效率问题,所以也已经从我的Blog上移除了。另外,Gears应该也升级了吧,不知道用法是否发生了变化,还请您自行前往Gears的官方站看文档吧,那个写的比我清楚多了。
老大,你站怎么这么奇怪,先是载入的时候出现一大堆的第三方东西,留言好像也不太对,最后总是有个Alert出来。
因为评论是使用intensedebate管理,所以安装了它的插件,有可能是你没有完全读取出来。国内网速比较差……