maoamaoamao
小狐狸
小狐狸
  • UID4950
  • 注册日期2005-04-10
  • 最后登录2008-09-14
  • 发帖数44
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:12239回复: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!
nighttalker
千年狐狸
千年狐狸
  • UID43
  • 注册日期2004-11-22
  • 最后登录2015-05-03
  • 发帖数2283
  • 经验40枚
  • 威望0点
  • 贡献值42点
  • 好评度0点
  • 社区居民
  • 忠实会员
1楼#
发布于:2008-09-13 01:33
加一些图



[/img]
目前最新版本是:Firefox 37,  请各位注意升级保证安全。
hitsmaxft
非常火狐
非常火狐
  • UID25803
  • 注册日期2008-08-12
  • 最后登录2024-01-13
  • 发帖数740
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2008-09-13 01:33
xjtubvc:我怎么觉得在搜索引擎里定义一下关键字就可以拥有它的功能。。。。回到原帖


没有快速预览功能.比重开一个窗口强

Lost in fx...
xjtubvc
小狐狸
小狐狸
  • UID21967
  • 注册日期2007-11-22
  • 最后登录2009-06-26
  • 发帖数19
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2008-09-13 01:33
我怎么觉得在搜索引擎里定义一下关键字就可以拥有它的功能。。。。
hitsmaxft
非常火狐
非常火狐
  • UID25803
  • 注册日期2008-08-12
  • 最后登录2024-01-13
  • 发帖数740
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2008-09-13 01:33
还是喜欢键盘操作,但是很多操作还是不得不借助鼠标的.
vimperator的想法还是很不错的,但是改变太大了,不是很适应.

Lost in fx...
hitsmaxft
非常火狐
非常火狐
  • UID25803
  • 注册日期2008-08-12
  • 最后登录2024-01-13
  • 发帖数740
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2008-09-13 01:33
调用google搜索时默认只显示3个搜索结果.有没有翻页的方法..

Lost in fx...
pto2k
小狐狸
小狐狸
  • UID7152
  • 注册日期2005-07-06
  • 最后登录2009-02-13
  • 发帖数11
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2008-09-13 01:33
carton:上面列的有些命令有点问题,我做了些修正在这里:
http://people.linux.net.cn/carton/ubiquity.html
可以直接Subscribe。
回到原帖


几个命令在最新的版本下面好像有些问题,比如字典和豆瓣,在显示预览的时候界面会错位,看不到预览区域
vital
火狐狸
火狐狸
  • UID4782
  • 注册日期2005-04-06
  • 最后登录2014-09-28
  • 发帖数147
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2008-09-13 01:33
闲置了一段时间,这两天又恢复使用了,感觉很爽,比如关闭想关联的网页。
楼主提供的btchina命令不能搜中文,在网站的搜索框里显示乱码,怎么办?
saga2008
非常火狐
非常火狐
  • UID25840
  • 注册日期2008-08-15
  • 最后登录2024-01-21
  • 发帖数694
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
  • 社区居民
8楼#
发布于:2008-09-13 01:33
太疯狂了;我还是选择正常吧,老鼠还是离不开的。
xunleiman
小狐狸
小狐狸
  • UID26827
  • 注册日期2008-10-27
  • 最后登录2012-03-16
  • 发帖数79
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
9楼#
发布于:2008-09-13 01:33
kmc:我已经放弃Ubiquity了,不知道为什么,我觉得Mozilla好像也放弃了。回到原帖

开发进度表:http://labs.toolness.com/trac/roadmap
xunleiman
小狐狸
小狐狸
  • UID26827
  • 注册日期2008-10-27
  • 最后登录2012-03-16
  • 发帖数79
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2008-09-13 01:33
0.12版的右键功能怎么被挂起了? 好多要改进
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
11楼#
发布于:2008-09-13 01:33
carton:上面列的有些命令有点问题,我做了些修正在这里:
http://people.linux.net.cn/carton/ubiquity.html
可以直接Subscribe。
回到原帖

很棒很棒,此前一直没注意carton做的这套指令,今天订阅后非常的棒,但是chinese的指令有些问题,建议carton把默认的translate command复制过来然后把en改成zh,就可以了。
ackenu
小狐狸
小狐狸
  • UID24406
  • 注册日期2008-06-02
  • 最后登录2011-07-29
  • 发帖数78
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2008-09-13 01:33
carton:上面列的有些命令有点问题,我做了些修正在这里:
http://people.linux.net.cn/carton/ubiquity.html
可以直接Subscribe。
回到原帖


非常好
- Adblock Plus 1.1.1 - Add to Search Bar 1.8 - Auto Copy 1.0 - Coral IE Tab 1.60.20090901 - Downloads in Tab 0.0.9 - Easy DragToGo 1.1.2.4 - Extension List Dumper 1.14.4 - feedly 2.8 - FoxTab 1.2.1 - GMarks 1.0.1 - Google Shortcuts 1.7 - IDM CC 6.1 - Java Quick Starter 1.0 - Lazarus: Form Recovery 2.0.4 - Locationbar² 1.0.3 - New Tab King 2.1.4 - Personal Menu 4.2.1 - Secure Login 0.9.3 - Stylish 1.0.7 - Tab Kit 0.5.8 - Torbutton 1.2.2
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
13楼#
发布于:2008-09-13 01:33
升级到0.12后,图片预览的功能失效了。
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。
上一页
游客

返回顶部