Multiple parameter keyword searches

From MozillaZine Knowledge Base
Revision as of 03:44, 26 February 2005 by Asqueella (talk | contribs) (refactor)
Jump to navigationJump to search

Creating a keyword search with multiple parameters

Copy/Paste the following string in your bookmark's Location field. Don't forget to replace ###INSERT YOUR KEYWORD SEARCH URL HERE### with your search URL, which can now include multiple %s occurences.

javascript:var%C2%A0s='%s';url='###INSERT YOUR KEYWORD SEARCH URL HERE###';t='';qc=0;chunks=url.split('%s');for(i=0;i<s.length;i++){if(s.charAt(i)=='"')qc=qc^1;t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i));}args=t.split(/\s/);nurl='';for(i=0;i<chunks.length;i++){nurl+=chunks[i];if(args[i]!=undefined)%C2%A0{args[i]=args[i].replace(/\^/g,' ');nurl+=args[i];}}location.replace(nurl,'<BR>');

(The script was was copied from an attachment in bug 124237 in Bugzilla.)

Usage

Just type this in Location Bar:

search_keyword param1 param2 ...

If one parameter contains spaces put it inside quotes.

Examples

finance.yahoo.com

If we would want to compare the performance of two stocks using an URL similar to this: http://finance.yahoo.com/q/bc?t=6m&s=%s&c=%s

The bookmark URL would be

javascript:var%C2%A0s='%s';url='http://finance.yahoo.com/q/bc?t=6m&s=%s&c=%s';t='';qc=0;chunks=url.split('%s');for(i=0;i<s.length;i++){if(s.charAt(i)=='"')qc=qc^1;t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i));}args=t.split(/\s/);nurl='';for(i=0;i<chunks.length;i++){nurl+=chunks[i];if(args[i]!=undefined)%C2%A0{args[i]=args[i].replace(/\^/g,' ');nurl+=args[i];}}location.replace(nurl,'<BR>');

If you chose the keyword compare you could compare Redhat's performance with SCO Groups by writing

compare rhat scox

Googlefight

Another example given the url for a googlefight: http://www.googlefight.com/cgi-bin/compare.pl?q1=%s&q2=%s&B1=Make+a+fight%21&compare=1&langue=us

And the bookmark would be

javascript:var%C2%A0s='%s';url='http://www.googlefight.com/cgi-bin/compare.pl?q1=%s&q2=%s&B1=Make+a+fight%21&compare=1&langue=us';t='';qc=0;chunks=url.split('%s');for(i=0;i<s.length;i++){if(s.charAt(i)=='"')qc=qc^1;t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i));}args=t.split(/\s/);nurl='';for(i=0;i<chunks.length;i++){nurl+=chunks[i];if(args[i]!=undefined)%C2%A0{args[i]=args[i].replace(/\^/g,' ');nurl+=args[i];}}location.replace(nurl,'<BR>');

With the keyword fight you could do a search like

fight "United States" Finland