kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:6839回复:27

[已解决][求扩展]多引擎搜索

楼主#
更多 发布于:2009-11-25 18:26
由于经常在国外网盘下东西,所以收藏了一些专业的网盘搜索引擎,它们的效果要比Google搜索好得多。但是引擎一多,就不得不一会用这个,找不到的话改用另一个。我希望能输入一个关键词,就自动在多个引擎里面搜索。

具体来说:
我希望的是用我已经添加到Firefox的搜索引擎,把它们组织成一个而不是用CyberSearch扩展或者说Google Custom Search这种(调用Google的"site:"语法而已。)通过网上搜索,看到了一些诸如Unified Search(不能自定义),Firefox Search Sidebar(不兼容&开发已停止),均不能满足要求。

另外脚本/按钮达人也请乱入一下,因为我觉得把快捷字输送给某个已有的搜索引擎应该是一条Firefox内部语句(见附注),如果是这样的话我想是不是用Custom Buttons ²可以实现一个按钮,点击后询问关键字,然后分解成多条语句,每条执行一个引擎搜索。我不需要合并在同一个页面看,打开多个Tabs是完全可以接受的。

请推荐,谢谢。

附注:这些Firefox的内部语句例如undoCloseTab(), gBrowser.removeCurrentTab();在哪里可以查?有没有比较完整的文献?
Tagged_by_kmc : multiple search engine
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
1楼#
发布于:2009-11-25 18:26
我以为应该是你来回答这些问题呢……;)

多引擎搜索我推荐这个:
Searchbastard :: Firefox 附加组件
https://addons.mozilla.org/zh-CN/firefox/addon/8030
其次也可以试试:
SearchAll,我搜去 :: Firefox 附加组件
https://addons.mozilla.org/zh-CN/firefox/addon/5712
或者这个简单的:
MultiSearch :: Firefox 附加组件
https://addons.mozilla.org/zh-CN/firefox/addon/4843
这些 3.5 兼容不知 3.7 怎样。

Firefox 内部语句应该在
Mozilla Developer Center - MDC
https://developer.mozilla.org/En
这里就有了吧?反正我之前搜 Google 都搜到那里去的。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2009-11-25 18:26
谢谢楼上的,我试了一下MultiSearch和Searchbastard,SearchAll看它的说明觉得不好。

MultiSearch简单,但是操作手感很古怪,要用Ctrl+右键去指定某个网页上出现的词,倒不能自己手动输入一个词。

SearchBastard比较复杂并且多出来一个工具条,但是可以初步完成我的需要——虽然不能一次打开所有的引擎,但是引擎可以分组,那样就好切换一点。我再看看Organize Search engines是怎么样的。

--Edit
我又用了一下Bastard,并且看了它的介绍,我觉得这是一个相当强悍,相当有Web2.0风格的扩展,只可惜他在3.7下,最重要的多引擎同时搜索的功能不正常,表现为无法打开一个多引擎搜索结果页面,无论是Tabs还是Frames。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
3楼#
发布于:2009-11-25 18:26
Searchbastard 的确是很厉害的,我之前同时搜三个词典/翻译网站就靠它帮忙了。可能也是太强大的缘故,升级很麻烦(或者作者懒?),3.5 出来了好久其兼容 3.5 的版本才放出。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
4楼#
发布于:2009-11-25 18:26
hzhbest:Searchbastard 的确是很厉害的,我之前同时搜三个词典/翻译网站就靠它帮忙了。可能也是太强大的缘故,升级很麻烦(或者作者懒?),3.5 出来了好久其兼容 3.5 的版本才放出。回到原帖

我觉得作者把很大精力放在Eye candy方面了,如果说Multi frame还需要仔细研究窗体的分割的话,Multi tabs完全可以让Firefox自己打开多个标签页得了,可是他还是要实现成一个Tab,或者说标准的tab里面有自己写的tabs。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
5楼#
发布于:2009-11-25 18:26
推荐OSE的Open All in Tabs功能。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
6楼#
发布于:2009-11-25 18:26
Re: [求扩展]多引擎搜索

因为我觉得把快捷字输送给某个已有的搜索引擎应该是一条Firefox内部语句(见附注),如果是这样的话我想是不是用Custom Buttons ²可以实现一个按钮,点击后询问关键字,然后分解成多条语句,每条执行一个引擎搜索。我不需要合并在同一个页面看,打开多个Tabs是完全可以接受的。


var ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);
var engine = ss.getEngineByName("Google");
var submission = engine.getSubmission("多引擎搜索", null);
openUILinkIn(submission.uri.spec, "tab", null, submission.postData);
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
7楼#
发布于:2009-11-25 18:26
多谢楼上先,我试试看
失败了……放到custom buttons²里面没有效果,具体很难描述。

直接在Error console里面输入上面几条代码,提示Cc not defined
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
8楼#
发布于:2009-11-25 18:26
kmc:多谢楼上先,我试试看
失败了……放到custom buttons²里面没有效果,具体很难描述。

直接在Error console里面输入上面几条代码,提示Cc not defined
回到原帖

CB2中测试没问题,Cc和Ci是缩写,一般运行环境中都是定义好了的。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
9楼#
发布于:2009-11-25 18:26
我还是不成功啊,楼上能具体说说代码么?我的CB2好像也挺奇怪的,总是重启Firefox按钮代码就丢失,我是用了CB2的默认代码格式
/*Initialization code*/
if (typeof custombuttons.uCbuttonButes != 'function') {
  alert( "This Button requires the Custom Buttons%s Extension".replace( /%s/,String.fromCharCode( 178 ) ) );
  this.disabled(true);
}

var Msg = createMsg(this.label);

var de = createDebug(this);


/*----------------------- Custom Buttons² Mouse Handler ------------------------

	Remove the un-necessary Functions within this code block
	or the entire code block for very simple left click buttons.

		Replace the function call "Msg.aMsg('...')"
		within each needed Click Function with
		the function call of your choice.
		Your function call will then execute.
		Access to the click event Object (evt)
		provides you full control.

------------------------------------- -- -------------------------------------*/

let Cb2s = cb2String;
this.leftclick = function(evt)
{
  var ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);
var engine = ss.getEngineByName("Google");
var submission = engine.getSubmission("多引擎搜索", null);
openUILinkIn(submission.uri.spec, "tab", null, submission.postData);
};

this.sleftclick = function(evt)

/*----以下省略----*/

/*--------------------------- Show Focus Block End ---------------------------*/
/*------------------ Custom Buttons² Attributes Block Start ------------------*/
this.setAttribute('author','');
this.setAttribute('version','');
this.setAttribute('homepage','http://custombuttons2.com');
this.setAttribute('dependency','FF2.0*, FL1.0*, TB2.0*, CB2 2.0.5*');
this.setAttribute('status','Development');
this.setAttribute('public',false);


/*------------------- Custom Buttons² Attributes Block End -------------------*/

主要有两个问题:
1. 把var engine = ss.getEngineByName("Google");里面的Google改成别的都不行,JS提示engine is not defined,好像是无法找到关键字。
2. 重启Firefox后,这个按钮就又恢复成默认的模板代码了……
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
10楼#
发布于:2009-11-25 18:26
我不清楚你的CB2怎么回事,你得查清楚代码为什么保存不了。你贴出来的代码也没啥问题,可能你没有贴全,缺少了鼠标点击事件的监视。
你就把我贴的4句代码粘贴到Code里,Initialization Code留空就可以了。
另外,Google你可以改成其他你安装的搜索引擎的名字,与关键字无关。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
11楼#
发布于:2009-11-25 18:26
原来是要在code里面写,我一直在Initialization里面写(因为我看很多按钮都是那里面有实际的代码,code里面都是注释)

为了实现多引擎搜索,我试了试把代码扩充成这样,并且把你的“多引擎搜索”用一个prompt来让用户输入
var ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);
var kw	= prompt("Search keyword:");

if (kw){
var engine = ss.getEngineByName("Yahoo");
var submission = engine.getSubmission(kw, null);
openUILinkIn(submission.uri.spec, "tab", null, submission.postData); 

var engine = ss.getEngineByName("Google");
var submission = engine.getSubmission(kw, null);
openUILinkIn(submission.uri.spec, "tab", null, submission.postData); 

var engine = ss.getEngineByName("eBay");
var submission = engine.getSubmission(kw, null);
openUILinkIn(submission.uri.spec, "tab", null, submission.postData); 
}

测试有效,不过就是引擎的名字要严格跟列表中的名字相同,eBay写成Ebay都不行。难怪之前有几次都失败了,就是因为我的Google叫“Google US”可我一直写Google。

下面就差解决我CB2只要一重启,新按钮就全部丢失的问题了。新建了个配置文件依然如此,不过跟本主题无关,我单独开帖吧。谢谢楼上的指点。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
ithinc
狐狸大王
狐狸大王
  • UID22844
  • 注册日期2008-02-04
  • 最后登录2014-09-28
  • 发帖数371
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
12楼#
发布于:2009-11-25 18:26
简单的按钮用Code写就可以了,复杂的按钮才需要使用Initialization Code。Code里的代码相当于Intialization Code里的this.leftclick。
名字当然要完全相同才行,不然无法体现唯一性了。
Tab Utilities的功能要求,请提交到http://tabutils.uservoice.com
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
13楼#
发布于:2009-11-25 18:26
谢谢楼上,我写了一个Custom Button发到网上去了,不过只是个模板,用户要自己根据实际情况修改代码。
PrismSearch | Custom Buttons²
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//custombuttons2.com/%22%3E%0A%20%20%3CCb2Ver%3E3.1.0%3C/Cb2Ver%3E%0A%20%20%3Cname%3EPrismSearch%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAE1UlEQVR42rVVeSzkZxie38yYw30kRN06RUi2aRxLhbjS2llB1NE46w5CCNLSCOsuJbpSVhAhxFV326h1tKRE2lSmptmIatzrWEYxZswY0+eXWv+sjK22b/Lmm/ny/b7nfZ/3+d6XoPzPRtx2oLe39/pMUFCQ/D8B8Pb2ps7MzChRqVQ1LS0tbSUlJZZEIhEdHh6+wJ7Q09NTOjg4+FpgrwCYmpoq4SI9Hx+fB8HBwb5WVlYcJpOpLBKJhDwej9/e3t73Pczc3PxgcXHx4h8BKCsrM9XU1DjFxcWfhISE+OO/yvn5uQzRywBCZzAY1KOjI0FjY2NHWVlZjba29sbq6qr0dQHoKioqxpWVlY+io6NDTk9PZQMDA0sjIyNLBwcHp/r6+hqBgYE2XC73TRqNJsO5JwCpdHFx2Z2YmJApBNDT0yN2d3c1/Pz8Qpubm8svLy8ZeXl5T1tbW5+KxeJ1HBHDVZCdWWZmpk96errz8fHxIQBT+Hz+6NnZ2eltADTwbtrQ0PAFqOH29PTwkpOTvwTvP6Ooz1VVVSXIiAVgIx0dHSfUIRWRmyGL5sLCwkcZGRnPq6urLxUBsKRSqd3w8HCTtbU1JykpqaW7u7sRNXiWlpYmLC8vv4yIiKB2dXWp49zbWVlZ6cjQb3R0dDYyMjLZ3d39GX5LFQGoYHEBwBMTE5M3wsPDK8bHx5uRzTqArvl1c3NTgoA4sbGxGRUVFbHT09O/hoaGJtvZ2S1A1mKFAEKh0AkR1jo4OFjk5+c31NfXVyCTDazXAKgRHUV/CyorSUhI8O/r6/sxJSUly8nJiXcbAGt/f/9ebm5uHj54CH3zoaRUyPOnkpISES6TgxKiqqpKFfr3amlpqYGqDHC+ta2trcbDw2NpcnJSogiADhWZ2tjYBDU1NWUaGxtrjI2NfQvuq7a2tvhQzzlUw7awsLAvKCj41N7e3mllZeVFWFhY8fr6+gjWjY6ODpkiAFKm2tC3LV7vRzk5Of5QC2Nvb++P2dnZuZ2dnT28cENHR8d3NTU1DS8uLqhQ1SkCaACtDbq6uhsBAQGS2trayxsBrowBN0DfcUCb8E9MTPTgcDg6bDYbSqVSZDIZBXWSLS8vC5AR08jISA0UCqampr6bm5v7Ab3pG4DvIiPpjQDE30Zq3RCrjYGBwTuI+B7MCBeyBALB2cLCwtr8/PyamZmZLvTPRT200UIocrlc1NnZ2Y6X/Tm+Xzs5OZHclAElKiqKGBoaYqLf6JDZwPURvRacgQzEuOgIe2cIQDc+Pj48NTXV+yowCp1OF/f395Mgn6Fe5OuXvALw0ry8vGiIloxaGRGxsUWDX+ASEVYZamBga2v7IWqQhnauekUABc1QDBm3Y58EWcO+VOHAgQQJqIVAyoSGhobc0tJSDr0TdXV1pCDu+/r6RsfFxT1QV1dnvwRBzcSgqw6toxJZ79060W4yqI4J1RlDEPfRXQNjYmLeQ79iXYHIt7e3fwN9sWCAdyeAoqIiorS0lI1maALabDEBP0D93ifFgDpRkOUsHuXHmCW/3AmAtOzsbOLx48fKuMSIBHF2dua6urraQiDHmCNfbW5ufo1jv98ZgDQMKAJvg+TfEG4ByvQhCjG4X8Z/0gX/CuDKyDuYcHU4qShyTv8JF5K//wK1gFlRFxgf3AAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*Code*/%5D%5D%3E%3C/code%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20code*/%0Aif%20%28typeof%20custombuttons.uCbuttonButes%20%21%3D%20%27function%27%29%20%7B%0A%20%20alert%28%20%22This%20Button%20requires%20the%20Custom%20Buttons%25s%20Extension%22.replace%28%20/%25s/%2CString.fromCharCode%28%20178%20%29%20%29%20%29%3B%0A%20%20this.disabled%28true%29%3B%0A%7D%0A%0Avar%20Msg%20%3D%20createMsg%28this.label%29%3B%0A%0Avar%20de%20%3D%20createDebug%28this%29%3B%0A%0A%0A/*-----------------------%20Custom%20Buttons%B2%20Mouse%20Handler%20------------------------%0A%0A%09Remove%20the%20un-necessary%20Functions%20within%20this%20code%20block%0A%09or%20the%20entire%20code%20block%20for%20very%20simple%20left%20click%20buttons.%0A%0A%09%09Replace%20the%20function%20call%20%22Msg.aMsg%28%27...%27%29%22%0A%09%09within%20each%20needed%20Click%20Function%20with%0A%09%09the%20function%20call%20of%20your%20choice.%0A%09%09Your%20function%20call%20will%20then%20execute.%0A%09%09Access%20to%20the%20click%20event%20Object%20%28evt%29%0A%09%09provides%20you%20full%20control.%0A%0A-------------------------------------%20--%20-------------------------------------*/%0A%0Alet%20Cb2s%20%3D%20cb2String%3B%0Athis.leftclick%20%3D%20function%28evt%29%0A%7B%0Avar%20ss%20%3D%20Cc%5B%22@mozilla.org/browser/search-service%3B1%22%5D.getService%28Ci.nsIBrowserSearchService%29%3B%0Avar%20kw%09%3D%20prompt%28%22Search%20keyword%3A%22%29%3B%0A%0Aif%20%28kw%29%7B%0Avar%20engine%20%3D%20ss.getEngineByName%28%22Filecrop%22%29%3B%0Avar%20submission%20%3D%20engine.getSubmission%28kw%2C%20null%29%3B%0AopenUILinkIn%28submission.uri.spec%2C%20%22tab%22%2C%20null%2C%20submission.postData%29%3B%20%0A%0Avar%20engine%20%3D%20ss.getEngineByName%28%22Filespump%22%29%3B%0Avar%20submission%20%3D%20engine.getSubmission%28kw%2C%20null%29%3B%0AopenUILinkIn%28submission.uri.spec%2C%20%22tab%22%2C%20null%2C%20submission.postData%29%3B%20%0A%0Avar%20engine%20%3D%20ss.getEngineByName%28%22Filestube%22%29%3B%0Avar%20submission%20%3D%20engine.getSubmission%28kw%2C%20null%29%3B%0AopenUILinkIn%28submission.uri.spec%2C%20%22tab%22%2C%20null%2C%20submission.postData%29%3B%20%0A%0Avar%20engine%20%3D%20ss.getEngineByName%28%22Katz%22%29%3B%0Avar%20submission%20%3D%20engine.getSubmission%28kw%2C%20null%29%3B%0AopenUILinkIn%28submission.uri.spec%2C%20%22tab%22%2C%20null%2C%20submission.postData%29%3B%20%0A%0A%7D%0A%0A%0A%7D%3B%0A%0Athis.sleftclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysShiftLftClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.aleftclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltLftClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.cleftclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlLftClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.midclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysMdClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.smidclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysShiftMdClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.amidclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltMdClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.cmidclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlMdClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.rightclick%20%3D%20function%28evt%29%0A%7B%0A%20%20custombuttons.gQuot.gShowPopup%28this%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.arightclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltRtClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.crightclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlRtClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.leftDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysLftDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.sleftDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysShiftLftDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.aleftDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltLftDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.cleftDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlLftDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.midDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysMdDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.smidDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysShiftMdDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.amidDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltMdDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.cmidDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlMdDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.rightDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysRtDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.srightDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysShiftRtDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.arightDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysAltRtDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0Athis.crightDclick%20%3D%20function%28evt%29%0A%7B%0A%20%20Msg.aMsg%28Cb2s.sNBkeysCtrlRtDClick%29%3B%20%20//%20Replace%20with%20call%20of%20your%20choice%0A%7D%3B%0A%0A%0Athis.setAttribute%28%20%27onclick%27%2C%20%27custombuttons.gQuot.mHandler%28%20event%2C%20this%20%29%27%20%29%3B%20//%20Calls%20the%20Global%20MouseClick%20handler%20gQuot%0Athis.setAttribute%28%20%27ondblclick%27%2C%20%27custombuttons.gQuot.mHandler%28%20event%2C%20this%20%29%27%20%29%3B%0A%0A/*--------------------%20Custom%20Buttons%B2%20Mouse%20Handler%20End%20---------------------*/%0A/*-------------------------%20Button%20Code%20Block%20Start%20--------------------------*/%0A%0A/*--------------------------%20Button%20Code%20Block%20End%20---------------------------*/%0A/*--------------------------%20Show%20Focus%20Block%20Start%20--------------------------*/%0A%0Athis.style.opacity%20%3D%20%27.65%27%3B%0Athis.setAttribute%28%22onmouseover%22%2C%20%22if%20%28custombuttons%29%20custombuttons.ButtonBrt%28event%29%3B%22%20%29%3B%0Athis.setAttribute%28%22onmouseout%22%2C%20%22if%20%28custombuttons%29%20custombuttons.ButtonDim%28event%29%3B%22%20%29%3B%0A%0A/*---------------------------%20Show%20Focus%20Block%20End%20---------------------------*/%0A/*------------------%20Custom%20Buttons%B2%20Attributes%20Block%20Start%20------------------*/%0Athis.setAttribute%28%27author%27%2C%27kmc%27%29%3B%0Athis.setAttribute%28%27version%27%2C%270.1%27%29%3B%0Athis.setAttribute%28%27homepage%27%2C%27http%3A//kmcbest.blogspot.com%27%29%3B%0Athis.setAttribute%28%27dependency%27%2C%27FF2.0*%2C%20FL1.0*%2C%20TB2.0*%2C%20CB2%202.0.5*%27%29%3B%0Athis.setAttribute%28%27status%27%2C%27Development%27%29%3B%0Athis.setAttribute%28%27public%27%2Ctrue%29%3B%0A%0A%0A/*-------------------%20Custom%20Buttons%B2%20Attributes%20Block%20End%20-------------------*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5BNo%20help%20developed%20for%20%0A%3Clabel%3E%20button%0Acustombuttons-button%3Cid%3E.%5D%5D%3E%3C/help%3E%0A%3C/custombutton%3E
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
myfox1900
火狐狸
火狐狸
  • UID28479
  • 注册日期2009-04-05
  • 最后登录2014-03-19
  • 发帖数239
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2009-11-25 18:26
很不错,如果可以选定就搜索就更完美了
上一页
游客

返回顶部