我希望有一个只搜索我自己网站的搜索引擎。我目前有一些JavaScript,但它只搜索该特定页面上的文字。如果可能的话,我需要它来搜索我网站中的链接。
我无法使用Google搜索引擎,因为我的网站位于内部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 =“返回findInPage(this.string.value);在按钮标记中。)
它非常适合搜索该页面,但我希望有一种方法可以搜索我网站上的所有页面。
答案 0 :(得分:15)
很少有建议:
希望这有帮助!
答案 1 :(得分:1)
当你在内联网上,并且可能你所有页面都在同一台服务器上时,我认为可以依次为每个页面创建XMLHttpRequest,将页面存储在变量中,然后进行搜索在存储的页面上。
可能有更多XMLHttpRequest经验的人会说这会有多高效或有效。
答案 2 :(得分:1)
您可以使用search-index。它可以在服务器和浏览器中运行。 An example on how to run it in the browser和the actual demo of it。您必须编写一个遍历您网站的爬虫/蜘蛛。我认为Lunr.js也会运作良好。
如果您的网站是JSON,则索引将是一项需要修复的小任务,或者您可以have a crawler running in the browser。
免责声明:我正在搜索索引。