Hack #47. Add a Site Search
Google can restrict your search to a specific site. You can take advantage of this feature to add a site search to every page you visit.
There are two ways to restrict Google to return pages on a specific site. The first way is to use the
site: keyword in your search results, like this:
foo site:example.com
This Google search searches for foo but returns only pages on the example.com domain. On the search results page, the URL looks like this:
http://www.google.com/search?hl=en&q=foo+site%3Aexample.comThe second way is to do it in two steps. First, search for foo; then, at the bottom of the search results, click "Search within results." You will get to a page with another search form, where you can enter site:example.com. The actual search results will be the same as the previous one-step method, but the URL looks different:
http://www.google.com/search?hl=en&lr=&c2coff=1&q=foo&as_q=site%3Aexample.comThis difference is important, because the keyword foo and the site name site:example.com are in separate query parameters. It makes it trivial to reverse-engineer that URL to construct a form that searches a specific site. The form would display a single visible text box named q and also contain a hidden form field named as_q that contains the domain of the current page with a site: prefix.
The Code
The code is in two parts. The first part creates the site search form and inserts it at the top of the page. The second part styles the form so it is unobtrusive ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access