maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:12208回复:27

Ubiquity.无处不在的疯狂

楼主#
更多 发布于:2008-09-13 01:33
  Ubiquity之强大,在于你几乎可以不用鼠标,仅在页面上按几个键,打几个字,就可以得到你想要的东西,比如各种搜索引擎的搜索结果以及相关的解释、图片、视频、评论……或者发个邮件、更新twitter……或者在博客里加图片、加链接……几乎所有事,所以它叫做“无处不在”~

  它是一种像Dos命令之类的指令操作,而指令全是你自己可以制定的,如果你记不住英文指令,你甚至可以把指令改成中文的,比如你选中上面这个 “Ubiquity”,按下你自己定义的快捷键比如Shift+空格,输入chi,你都不用输完chinese这个命令,就可以看到它的中文意思了——

 

  你也可以改用中文指令——



  你可以做几乎所有查询,比如中文解释——



  比如Ubiquity的新闻——




  比如评论Ubiquity的博客——


 

  哈,我觉得很强很好玩啊,所以都沉迷于修改命令脚本,现在这个东东刚推出,版本才0.1,编脚本的人不多,编适用于中文的脚本的更少,不过已经有些高手编了一些了,有些想要的命令网上找不到,但把相似的拿来改改就可以用了,比如上面那些都是我改的,还有比如google的图片搜索——



  马上可以看到google图片搜索前四名的美女啦,可马上复制和点击原图哦~

  以此类推,你也可以像这样搜索flickr或Picasa上面的美女或其它东东~

  更专业的介绍网上很多,搜一下大把,我这里放的都是我从别人那改来的脚本,脚本代码其实并不复杂,虽然我不大懂JS之类的,但基本还是看得懂改得了的。把我改的一些放在这里:

 
makeSearchCommand({
name: "gblog",
url: "http://www.google.com/blogsearch?q={QUERY}",
icon: "http://www.google.com/favicon.ico",
description: "搜索博客",
preview: function(pblock, directObject) {
var searchTerm = directObject.text;
var pTemplate = "搜索包含<b>${query}</b>的博客";
var pData = {query: searchTerm};
pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);
var url = "http://ajax.googleapis.com/ajax/services/search/blogs";
var params = { v: "1.0", q: searchTerm };
jQuery.get( url, params, function(data) {
var numToDisplay = 5;
var results = data.responseData.results.splice( 0, numToDisplay );
pblock.innerHTML = CmdUtils.renderTemplate( {file:"google-search.html"},
{results:results}
);
}, "json");
}
});
makeSearchCommand({
name: "gnews",
url: "http://www.google.com/news?q={QUERY}",
icon: "http://www.google.com/favicon.ico",
description: "搜索新闻",
preview: function(pblock, directObject) {
var searchTerm = directObject.text;
var pTemplate = "搜索包含<b>${query}</b>的新闻";
var pData = {query: searchTerm};
pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);
var url = "http://ajax.googleapis.com/ajax/services/search/news";
var params = { v: "1.0", q: searchTerm };
jQuery.get( url, params, function(data) {
var numToDisplay = 5;
var results = data.responseData.results.splice( 0, numToDisplay );
pblock.innerHTML = CmdUtils.renderTemplate( {file:"google-search.html"},
{results:results}
);
}, "json");
}
});
makeSearchCommand({
name: "gimages",
url: "http://www.google.com/news?q={QUERY}",
icon: "http://www.google.com/favicon.ico",
description: "搜索图片",
preview: function(pblock, directObject) {
var searchTerm = directObject.text;
var pTemplate = "搜索包含<b>${query}</b>的图片";
var pData = {query: searchTerm};
pblock.innerHTML = CmdUtils.renderTemplate(pTemplate, pData);
var url = "http://ajax.googleapis.com/ajax/services/search/images";
var params = { v: "1.0", q: searchTerm };
jQuery.get( url, params, function(data) {
var numToDisplay = 5;
var results = data.responseData.results.splice( 0, numToDisplay );
pblock.innerHTML = CmdUtils.renderTemplate( {file:"google-i-search.html"},
{results:results}
);
}, "json");
}
});
CmdUtils.CreateCommand({
name: "gtranslate",
icon: "http://www.google.com/favicon.ico",
description: "将当前网页翻译为中文",
execute: function() {
var word = context.focusedWindow.document.location;
Utils.openUrlInBrowser( "http://translate.google.com/translate?sl=en&tl=zh-CN&hl=zh-CN&ie=UTF-8&u=" + escape(word) );
},
preview : function(pblock){
pblock.innerHTML = "将当前网页翻译为中文";
}
});
makeSearchCommand({
name: "rottentomatoes",
icon: "http://www.rottentomatoes.com/favicon.ico",
url: "http://www.rottentomatoes.com/m/{QUERY}",
description: "查询rottentomatoes上的评价",
preview: function( pblock, directObject) {
var query = directObject.text;
var urlobject = "http://www.rottentomatoes.com/m/{QUERY}";
if (query.length > 0) {
var urlString = urlobject.replace("{QUERY}", query);
var running = "查询: " + query;
var msg = running + "<TABLE bgcolor=WHITE><tr><td><iframe background-color=WHITE src='" + urlString + "' width=800 height=600/></td></tr></TABLE>";
pblock.innerHTML = msg;
}
}
});
makeSearchCommand({
name: "zd",
url: "http://www.zdic.net/zd/search/default.asp?q={QUERY}",
icon: "http://www.zdic.net/favicon.ico",
description: "用汉典查询选中的汉字",
preview: function( pblock, directObject) {
var query = directObject.text;
var urlobject = "http://www.zdic.net/zd/search/default.asp?q={QUERY}";
if (query.length > 0) {
var urlString = urlobject.replace("{QUERY}", query);
var running = "searching for " + query;
var msg = running + "<TABLE bgcolor=WHITE><tr><td><iframe background-color=WHITE src='" + urlString + "' width=800 height=600/></td></tr></TABLE>";
pblock.innerHTML = msg;
}
}
});
CmdUtils.CreateCommand({
name : "link-to-rottentomatoes",
takes : {"text" : noun_arb_text},
icon: "http://www.rottentomatoes.com/m/favicon.ico",
description: "自动加上rottentomatoes网站链接",
help: "只能用于富文本框",
execute : function( directObj ){
var text = directObj.text;
var wikiText = text.replace(/ /g, "_");
var html = ("<a href=\"http://www.rottentomatoes.com/m/" +
wikiText +
"\">" + "<img src=\"http://images.rottentomatoes.com/images/icons/tomato_sm.gif" +
"\">" + text + "</a>");
var doc = context.focusedWindow.document;
if (doc.designMode == "on")
doc.execCommand("insertHTML", false, html);
else
displayMessage("此处并非富文本框内");
},
preview : function(pblock, directObj){
var text = directObj.text;
if (text.length < 1){
pblock.innerHTML = "加上rottentomatoes网站链接";
}else{
var wikiText = text.replace(/ /g, "_");
var html = ("<a style=\"color: yellow;text-decoration: underline;\"" +
"href=\"http://www.rottentomatoes.com/m/" +
wikiText +
"\">" + text + "</a>");
pblock.innerHTML = "加上rottentomatoes网站的 " + text + " 链接," + " 比如: " + html;
}
}
})
CmdUtils.CreateCommand({
name : "kong",
takes : {"text" : noun_arb_text},
icon: "http://documents.google.com/favicon.ico",
description: "自动加四个英文空格,相当于两个中文空格",
help: "只能用于富文本框",
execute : function(){
var doc = context.focusedWindow.document;
if (doc.designMode == "on")
doc.execCommand("insertHTML", false, "&nbsp;&nbsp;&nbsp;&nbsp;");
else
displayMessage("此处并非富文本框内");
},
preview : function(pblock){
pblock.innerHTML = "在选中的文本前加四个英文空格,相当于两个中文空格";
}
})
CmdUtils.CreateCommand({
name: "url",
description: "打开选中的文本网址",
takes: {
"open url": noun_arb_text
},
preview: function(pblock, title) {
pblock.innerHTML = "url to open: " + title.text;
},
execute: function(directObject) {
var url = "{TXTURL}";
var txturl = directObject.text;
var urlString = url.replace("{TXTURL}", txturl);
Utils.openUrlInBrowser(urlString);
}
});
function wordCount(text){
var words = text.split("");
var wordCount = 0;
for(i=0; i<words.length; i++){
if (words[i].length > 0)
wordCount++;
}
return wordCount;
}
CmdUtils.CreateCommand({
name: "字数",
takes: {text: noun_arb_text},
icon: "chrome://ubiquity/content/icons/sum.png",
description: "计算字数,包括空格和标点~",
execute: function( directObj ) {
if (directObj.text)
displayMessage(wordCount(directObj.text) + " words");
else
displayMessage("没有选中任何内容");
},
preview: function(pBlock, directObj) {
if (directObj.text)
pBlock.innerHTML = "共计" + wordCount(directObj.text) + "字";
else
pBlock.innerHTML = "计算字数";
}
});
CmdUtils.CreateCommand({
name: "chinese",
description: "默认将页面上的文字自动译改为中文,或译为其它,或自己改成任何文字",
icon: "http://www.google.com/favicon.ico",
takes: {"text to translate": noun_arb_text},
modifiers: {to: noun_type_language, from: noun_type_language},
execute: function( directObj, languages ) {
// Default to translating to English if no to language
// is specified.
// TODO: Choose the default in a better way.
var toLang = languages.to.text || "CHINESE";
var fromLang = languages.from.text || "";
var toLangCode = Languages[toLang.toUpperCase()];
translateTo( directObj.text, {to:toLangCode} );
},
preview: function( pblock, directObj, languages ) {
var toLang = languages.to.text || "CHINESE";
var textToTranslate = directObj.text;
var toLangCode = Languages[toLang.toUpperCase()];
var lang = toLang[0].toUpperCase() + toLang.substr(1);
pblock.innerHTML = "将选中的文字替换成 " + lang + ":<br/>";
translateTo( textToTranslate, {to:toLangCode}, function( translation ) {
pblock.innerHTML = "将选中的文字替换成 " + lang + ":<br/>";
pblock.innerHTML += "<i style='padding:10px;color: #CCC;display:block;'>" + translation + "</i>";
});
}
})


  怎么用呢?

  A.装个Firefox

  B.下载插件Ubiquity

  C.将上面的代码复制后,打开:Firefox配置文件夹\extensions\ubiquity@labs.mozilla.com\chrome\content\builtincmds.js ,粘贴,OK

  如果不知道FF配置文件夹在哪,如果是默认安装的,去C盘搜索builtincmds.js

 

  上面的代码我改的其实只有很少很少,比如找出搜索引用的地方,原版google搜索只搜索网页,我找不到搜索其它的,但看到那个地址后面是web/,我就试试改成images/,嘿,还真蒙对了,然后到templates文件夹里修改一下google-search.html,加个img让它显示图片就可以了;还有chinese命令来自原版translate,只是改一下默认翻译的语言之类的……总之呢,挺好玩的~

 

  好玩的东西放上来,看有没有人一起玩~ ^_^

 

  路过的人中秋节快乐~


  我那博客没啥人看,放在这里看有没有同好交流交流吧~
爱人民,爱中国,爱Firefox!
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
1楼#
发布于:2008-09-13 01:33
我已经放弃Ubiquity了,不知道为什么,我觉得Mozilla好像也放弃了。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2008-09-13 01:33
kmc:我已经放弃Ubiquity了,不知道为什么,我觉得Mozilla好像也放弃了。回到原帖


……不会吧!
爱人民,爱中国,爱Firefox!
yjhdeys
火狐狸
火狐狸
  • UID22704
  • 注册日期2008-01-21
  • 最后登录2010-03-12
  • 发帖数140
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2008-09-13 01:33
这个好像哪里有视频介绍 看啦一下  但是觉得对使用鼠标习惯的人  不怎么适用啊
maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2008-09-13 01:33
丹麦以专业电脑操作人员为对象进行研究,结果表明,如果每周操作鼠标20个小时以上,手指刺痛和麻木的计算机腕管综合症发病几率就很高,如果每周超过25个小时,那么引发这种症状的可能性约为普通人员的4倍。与视力下降和电磁波问题同样,这种由电脑操作引起的健康问题,被认为是由手腕腕管中的正中神经受到压迫而引起的。

由安德森等人组成的研究小组,以隶属于丹麦专职人员工会的3500家单位的9480人为对象,对电脑操作和手指症状间的关系进行了研究。当被调查者反映有疼痛和麻木症状时,研究小组就通过医学检查来确诊是否出现了腕管正中神经综合症,结果是,鼠标不合适比键盘不合适对人的腕部危害更大

从开始调查时出现的症状与电脑操作的关系来看,令人意外的是,在操作时间上没有发现与键盘操作之间存在必然的关系。但对于鼠标操作,研究小组把每周操作时间为2.5小时以下定为标准1,从调查表表示的有疼痛和麻木症状的相对危险性来看,操作时间在10~15小时为1.8,15~20小时为 2.8,20~25小时为3.3,25~30小时为4.3,可以发现基本上与操作时间成正比,25个小时以上时,出现症状的几率约为4倍。研究表明,在职业性电脑操作人员中,确诊为腕管正中神经综合症的发病率只有1.4%,并不是很高,但是在开始调查时4.8%的对象得到确诊表明,一旦产生腕管机能障碍,其症状就有可能长期持续下去。另外,近年来由于像笔记本电脑的滚轮鼠标那样舒适性不太好的操作环境越来越多,因此操作个人电脑时要采取尽可能舒适的操作方法,特别是要考虑减少鼠标的操作以进行自我保护

http://tech.qq.com/a/20041201/000035.htm
爱人民,爱中国,爱Firefox!
yjhdeys
火狐狸
火狐狸
  • UID22704
  • 注册日期2008-01-21
  • 最后登录2010-03-12
  • 发帖数140
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-09-13 01:33
哦 是吗  都是手指在操作  怎么会有那么大的区别那
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
6楼#
发布于:2008-09-13 01:33
yjhdeys:哦 是吗  都是手指在操作  怎么会有那么大的区别那回到原帖

鼠标只锻炼一只手的2~3个手指,键盘锻炼两只手的8~9个手指,区别还是很大的。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
奇侠
小狐狸
小狐狸
  • UID18770
  • 注册日期2007-05-17
  • 最后登录2014-10-27
  • 发帖数54
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2008-09-13 01:33
怎样对google-search.html进行修改让它显示图片?不懂怎个加img
maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2008-09-13 01:33
奇侠:怎样对google-search.html进行修改让它显示图片?不懂怎个加img回到原帖


就是简单的html:

{for result in results}
    <a href="${result.unescapedUrl}"><img src="${result.unescapedUrl}" width="100" height="100" /></a>
{/for}



修改google-search.html,另存为另一个文件,把要显示图片的命令下引用的文件名改成这个新文件
爱人民,爱中国,爱Firefox!
xelnaga
千年狐狸
千年狐狸
  • UID1911
  • 注册日期2005-01-08
  • 最后登录2022-04-20
  • 发帖数1725
  • 经验85枚
  • 威望0点
  • 贡献值8点
  • 好评度5点
  • 社区居民
9楼#
发布于:2008-09-13 01:33
所以说我喜欢笔记本,可以用触摸板,除了打游戏,比鼠标不知道舒服多少,又不用离开键盘很远,大拇指都能操作
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
10楼#
发布于:2008-09-13 01:33
xelnaga:所以说我喜欢笔记本,可以用触摸板,除了打游戏,比鼠标不知道舒服多少,又不用离开键盘很远,大拇指都能操作回到原帖


如果你触摸板使得跟鼠标一样想哪指哪,Congratulations,但是,触摸板的噩梦
在于选定文字,尤其是跨屏地精确选定。还有Ctrl键配合的离散选定,由于触摸板
既要移动又要点击,结果往往是会复制出一大堆文件来
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
11楼#
发布于:2008-09-13 01:33
很好,搜图的时候只显示4幅有点少,如何修改显示数量呢?
maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2008-09-13 01:33
hill:很好,搜图的时候只显示4幅有点少,如何修改显示数量呢?回到原帖


哎,这我也想知道,代码里面有个数字好像是决定显示数量的,但不知为什么改了没效果……

继续研究中~所以希望有多点人一起研究下~
爱人民,爱中国,爱Firefox!
carton
小狐狸
小狐狸
  • UID26488
  • 注册日期2008-10-01
  • 最后登录2008-10-01
  • 发帖数2
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2008-09-13 01:33
maoamaoamao

哎,这我也想知道,代码里面有个数字好像是决定显示数量的,但不知为什么改了没效果……

继续研究中~所以希望有多点人一起研究下~
回到原帖

这个好像是预览用到的 http://ajax.googleapis.com/ajax/services/search/images 返回的结果只有4条,我也没找到参数能够修改这个。
carton
小狐狸
小狐狸
  • UID26488
  • 注册日期2008-10-01
  • 最后登录2008-10-01
  • 发帖数2
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2008-09-13 01:33
上面列的有些命令有点问题,我做了些修正在这里:
http://people.linux.net.cn/carton/ubiquity.html
可以直接Subscribe。
上一页
游客

返回顶部