【问题标题】:Javascript Search Engine (Search own site)Javascript 搜索引擎(搜索自己的网站)
【发布时间】:2014-02-18 14:59:03
【问题描述】:

我想要一个只搜索我自己网站的搜索引擎。我目前有一些 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="return findInPage(this.string.value); 在按钮标签中。)

它非常适合搜索该页面,但我希望有一种方法可以搜索我网站上的所有页面。

【问题讨论】:

  • 不,真的没有。您将需要一个服务器端程序来执行此操作。

标签: javascript html search


【解决方案1】:

一些建议:

  1. 除非您必须这样做,否则不要重新发明轮子 - 有一些开源库,例如 Tipue Search (Tipue Search) 等。
  2. 您可以使用 jquery/ajax $.load() 动态加载页面内容并搜索它们,同时在 DOM 和脚本运行的情况下仍保持在同一页面中。
  3. NodeJS 也是一个不错的选择,但可能会被淘汰。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您可以使用search-index。它可以在服务器和浏览器中运行。 An example on how to run it in the browserthe actual demo of it。您必须编写一个通过您的网站的爬虫/蜘蛛。 Lunr.js 也可以很好地工作,我认为。

    如果您的网站是 JSON 格式,索引将是一项需要修复的小任务,或者您可以have a crawler running in the browser

    免责声明:我正在做一些关于搜索索引的工作。

    【讨论】:

      【解决方案3】:

      由于您在 Intranet 上并且可能所有页面都在同一服务器上,那么我认为可以依次对每个页面发出 XMLHttpRequest,将页面存储在变量中,然后进行搜索在存储的页面上。

      可能有更多 XMLHttpRequest 经验的人会说这将是多么有效。

      【讨论】:

      • 对于您希望进行大量搜索查询的小型站点来说,这不是一个坏主意(即,值得下载所有页面并存储索引)。这是假设有充分的理由不在服务器上执行此操作...
      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 2010-11-16
      • 2013-11-13
      • 1970-01-01
      • 2012-08-04
      • 2011-04-22
      • 2021-12-04
      相关资源
      最近更新 更多