阅读:7409回复:29
Enter用当前搜索引擎搜索,shift+enter百度搜索,ctrl+enter google搜索
完美解决了
根据ithinc提供的JS整理出这样的功能: enter:用当前的搜索引擎搜索 shift+enter:用百度搜索 ctrl+enter:用google搜索 (function() { var searchbar = document.getElementById("searchbar"); eval("searchbar.textbox.onTextEntered = " + searchbar.textbox.onTextEntered.toString().replace(/(.*handleSearchCommand.*)/, "\ var ss = document.getBindingParent(this).searchService;\ var engine = ss.currentEngine;\ if(evt && evt.shiftKey) {\ ss.currentEngine = ss.getEngineByName('\u767E\u5EA6');\ }\ if(evt && evt.ctrlKey) {\ ss.currentEngine = ss.getEngineByName('Google');\ }\ $&;\ ss.currentEngine = engine;\ ")); })(); |
|
1楼#
发布于:2011-03-23 15:42
shenyixin99:还有一个,比如原来的搜索引擎是百度(也有可能是bing,verycd,taobao等),ctrl+enter google搜索后怎么让搜索引擎变回原来百度,而不是像现在的变成了google回到原帖 那得先保存再恢复。 (function() { var searchbar = document.getElementById("searchbar"); eval("searchbar.textbox.onTextEntered = " + searchbar.textbox.onTextEntered.toString().replace(/(.*handleSearchCommand.*)/, "\ var ss = document.getBindingParent(this).searchService;\ var engine = ss.currentEngine;\ if(evt && evt.ctrlKey) {\ ss.currentEngine = ss.getEngineByName('Google');\ }\ $&;\ ss.currentEngine = engine;\ ")); })(); |
|
|
2楼#
发布于:2011-03-23 15:42
还有一个,比如原来的搜索引擎是百度(也有可能是bing,verycd,taobao等),ctrl+enter google搜索后怎么让搜索引擎变回原来百度,而不是像现在的变成了google
|
|
3楼#
发布于:2011-03-23 15:42
|
|
4楼#
发布于:2011-03-23 15:42
那应该是你其他的扩展或脚本引起的,自己排查,别人帮不了你。
|
|
|
5楼#
发布于:2011-03-23 15:42
browser.search.openintab原来就是true的,很奇怪的是我用ctrl+enter google搜索的时候是在当前标签页打开,而enter用其它搜索引擎是在新建标签页打开的 |
|
6楼#
发布于:2011-03-23 15:42
引擎名字就是你在下拉列表里看到的名字,如果名字是中文的话要转码,比如“百度”要写成'\u767E\u5EA6'。 [quote="shenyixin99"] 可是还有一个问题想请教一下ithinc,如何用google搜索的时候,在前台弹出新标签,而不是在当前标签,谢谢ithinc给出这么实用的js[/quote] 在about:config中把browser.search.openintab设置为true。 |
|
|
7楼#
发布于:2011-03-23 15:42
我改成这样,ctrl+enter用google搜索当前搜索栏的内容,用enter就用当前搜索栏的搜索引擎搜索指定的内容,因为可能会有几个搜索引擎。可能实用性会好一些。
可以把baidu指定为当前的搜索引擎,然后enter就是用百度进行搜索,ctrl+enter就是google搜索。当然还有一个好处就是,如果你想用bing搜索,把当前的搜索引擎选成bing,enter就是bing搜索 可是还有一个问题想请教一下ithinc,如何用google搜索的时候,在前台弹出新标签,而不是在当前标签,谢谢ithinc给出这么实用的js (function() { var searchbar = document.getElementById("searchbar"); eval("searchbar.textbox.onTextEntered = " + searchbar.textbox.onTextEntered.toString().replace(/(?=.*handleSearchCommand.*)/, "\ var ss = document.getBindingParent(this).searchService;\ if(evt && evt.ctrlKey ){\ ss.currentEngine = ss.getEngineByName('Google');}\ ")); })(); |
|
8楼#
发布于:2011-03-23 15:42
|
|
9楼#
发布于:2011-03-23 15:42
把
'Google' : 'Bing'改成你实际使用的搜索引擎名称。 |
|
|
10楼#
发布于:2011-03-23 15:42
ithinc:看楼主这么执着,试试这段ucjs代码吧。(function() { var searchbar = document.getElementById("searchbar"); eval("searchbar.textbox.onTextEntered = " + searchbar.textbox.onTextEntered.toString().replace(/(?=.*handleSearchCommand.*)/, "\ var ss = document.getBindingParent(this).searchService;\ ss.currentEngine = ss.getEngineByName(evt && evt.ctrlKey ? 'Google' : 'Bing');\ ")); })();回到原帖 谢谢楼上的js代码,我试了一下,ctrl+enter可以用google搜索,但是直接enter所有的其它搜索引擎都不行。还有一个就是会把搜索栏的文字清空,怎么样才不清空呢 |
|
11楼#
发布于:2011-03-23 15:42
看楼主这么执着,试试这段ucjs代码吧。
(function() { var searchbar = document.getElementById("searchbar"); eval("searchbar.textbox.onTextEntered = " + searchbar.textbox.onTextEntered.toString().replace(/(?=.*handleSearchCommand.*)/, "\ var ss = document.getBindingParent(this).searchService;\ ss.currentEngine = ss.getEngineByName(evt && evt.ctrlKey ? 'Google' : 'Bing');\ ")); })(); |
|
|
12楼#
发布于:2011-03-23 15:42
context search也是比较方便,但是并不是很适合用在搜索栏。。。因为我们用得比较多的是google跟百毒,最好是直接就能在搜索栏用快捷键的方式进行搜索,不用去选择。 你可以看看那种整合百度和Google搜索结果的脚本。 |
|
|
13楼#
发布于:2011-03-23 15:42
shenyixin99: 需要另外搜索的话,可以随便找个网页中的输入框,打字,扫黑。比如这里的回复框 ![]() 界面又精简一点了。 |
|
14楼#
发布于:2011-03-23 15:42
|
|
上一页
下一页