阅读:1540回复:1
实现搜索但不切换搜索引擎
点击搜索引擎图标后只实现搜索但不切换搜索引擎
FF中能不能实现呢? |
|
1楼#
发布于:2010-03-10 10:49
扩展我不清楚有没有,uc脚本倒是有挺多的,
下面这个是中键点击临时使用搜索引擎,不切换搜素引擎: /* Middle Click and Go * nanto_vi (TOYAMA Nao), 2006-12-30 * * Paste-and-Go when middle-clicking on the URL bar and * Past-and-Search when middle-cliking on the search bar. * * Original Author: Gomita * Original Extension: Search Clipboard (a user script for userChrome.js) * <http://amb.vis.ne.jp/mozilla/?p=53> */ (function MiddleClickAndGo() { init: { document.getElementById("urlbar").mInputElt .addEventListener("click", onURLBarClick, false); // XXX A click event doesn't fire when the search bar doesn't have focus... document.getElementById("searchbar").textbox.mInputElt .addEventListener("mouseup", onSearchBarClick, false); document.getElementById("searchbar")._popup .addEventListener("click", onSearchPopupClick, false); } function getClipboardText() { try { var clip = Cc["@mozilla.org/widget/clipboard;1"] .createInstance(Ci.nsIClipboard); var trans = Cc["@mozilla.org/widget/transferable;1"] .createInstance(Ci.nsITransferable); trans.addDataFlavor("text/unicode"); clip.getData(trans, clip.kGlobalClipboard); var string = {}; trans.getTransferData("text/unicode", string, {}); return string.value.QueryInterface(Ci.nsISupportsString).data; } catch (e) { return ""; } } function onURLBarClick(aEvent) { if (aEvent.button != 1) return; var uri = getClipboardText(); if (!uri) return; if (aEvent.ctrlKey) gBrowser.loadOneTab(uri, null, null, null, false); else loadURI(uri); content.focus(); aEvent.preventDefault(); aEvent.stopPropagation(); } function onSearchBarClick(aEvent) { searchForClipboardText(document.getElementById("searchbar").currentEngine, aEvent); } function onSearchPopupClick(aEvent) { if ("engine" in aEvent.target && searchForClipboardText(aEvent.target.engine, aEvent)) this.hidePopup(); } function searchForClipboardText(aEngine, aEvent) { if (aEvent.button != 1) return false; var keyword = getClipboardText().replace(/^\s+|\s+$/g, ""); if (!keyword) return false; var searchBar = document.getElementById("searchbar"); searchBar.textbox.textValue = keyword; searchBar.removeAttribute("empty"); var submission = aEngine.getSubmission(keyword, null); if (aEvent.ctrlKey) gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, false); else loadURI(submission.uri.spec, null, submission.postData); content.focus(); aEvent.preventDefault(); aEvent.stopPropagation(); return true; } })(); |
|