Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript Search Engine (Search own site)

I want to have a search engine which searches only my own site. I have some JavaScript currently, but it only searches words on that specific page. I need it to search the links within my site if possible.

I cannot use the Google search engine as my site is on an internal intranet.

<SCRIPT language=JavaScript>
var NS4 = (document.layers);    
var IE4 = (document.all);
var win = window;    
var n   = 0;
function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
  while(win.find(str, false, true))
    n++;
else
  n++;
if (n == 0)
  alert("Not found.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
  txt.moveStart("character", 1);
  txt.moveEnd("textedit");
}
if (found) {
  txt.moveStart("character", -1);
  txt.findText(str);
  txt.select();
  txt.scrollIntoView();
  n++;
}
else {
  if (n > 0) {
    n = 0;
    findInPage(str);
  }
  else
    alert("Sorry, we couldn't find.Try again");
}
}
return false;
}
</SCRIPT>

(onsubmit="return findInPage(this.string.value); in the button tag.)

It works great for searching that page, but I was hoping there was a way to search all pages on my site.

like image 818
Samp Avatar asked Jan 27 '14 16:01

Samp


1 Answers

Few suggestions:

  1. Unless you must, don't re-invent the wheel - there are open source libraries such as Tipue Search (Tipue Search) and others.
  2. You can use jquery/ajax $.load() to dynamically load page content and search them, while still staying in the same page as far as your DOM and script goes.
  3. NodeJS is also a good option, but will probably be an over kill.

Hope this helps!

like image 171
dev7 Avatar answered Sep 17 '22 21:09

dev7