Javascript: 在内部站点中添加搜索功能

Javascript: Adding a search ability in an internal site

我在公司网络上创建了一个静态网站。 它没有暴露在互联网上。

它们是纯粹的 HTML - 目前没有 CSS 或脚本。

因为时间有限,我的意思是很简单。

但是,显然,需要一种搜索​​机制。

我在网上找到了 google 和其他自动创建器。但据我所知,它们需要设置互联网 URL 并且不支持内部站点。

而我的网址域的形式为:

http://192.168.4.XXX/something.htm

那么,你知道我可以使用的解决方案吗?我可以使用免费组件或 javascript?

谢谢!

你是什么人 运行 这样在本地 Intranet 上托管网页?

如果您使用某种服务器,例如 Apache 或 IIS,则可以使用服务器端语言来创建您的搜索功能。在客户端使用纯 Javascript 来创建搜索功能是不切实际的。

这是一个 PHP 脚本 运行ning 在 Apache 服务器上可以做什么的示例 请记住,这是一段非常简单的代码,肯定会有是问题,但对于小规模使用,可能值得做一些像这样简单的事情。

编辑:OP 使用 ASP.

声明 IIS

环顾四周后,我发现了这个 http://www.codeproject.com/Articles/7296/Reading-Files-in-ASP-and-How-to-Search-for-a-parti

输入要搜索的词的页面应该是这样的,比方说"search.htm"

<FORM METHOD=POST id=form1 action="searchresult.asp"
                       name=form1 onsubmit="return Check();">
  Enter text to search for:
  <INPUT TYPE=TEXT NAME=TextToSearch>
  <P>
  <INPUT TYPE=SUBMIT VALUE="Begin Search!" id=SUBMIT1 name=SUBMIT1>
</FORM>

那么 "searchresult.asp" 页面应该是:

'Search Text
Dim strtextToSearch
strtextToSearch = Request("TextToSearch")

'Now, we want to search all of the files
Dim fso

'Constant to read
Const ForReading = 1
Set fso = Server.CreateObject("Scripting.FileSystemObject")

'Specify the folder path to search.
Dim FolderToSearch
FolderToSearch = "D:\temp"

'Proceed if folder exists
if fso.FolderExists(FolderToSearch) then

    Dim objFolder
    Set objFolder = fso.GetFolder(FolderToSearch)

    Dim objFile, objTextStream, strFileContents, bolFileFound
    bolFileFound = False

    Dim FilesCounter
    FilesCounter = 0 'Total files found

    For Each objFile in objFolder.Files
        Set objTextStream = fso.OpenTextFile(objFile.Path,ForReading)
        'Read the content
        strFileContents = objTextStream.ReadAll
        If InStr(1,strFileContents,strtextToSearch,1) then
           Response.Write objFile.Name & "<br>"
           FilesCounter = FilesCounter + 1
        End If
        objTextStream.Close
    Next

    if FilesCounter = 0 then
        Response.Write "Sorry, No matches found."
    else
        Response.Write "Total files found : " & FilesCounter
    end if

    'Destroy the objects
    Set objTextStream = Nothing
    Set objFolder = Nothing

else
    Response.Write "Sorry, invalid folder name"
end if
Set fso = Nothing

以上是直接从链接网站复制粘贴的。在 运行 之前先查看链接的网站并通读代码!!!确保将 "FolderToSearch" 设置为您的根文档文件夹。

看起来这段代码只会直接查看您设置为搜索的文件夹中的文件。如果您希望它读取子文件夹等,那么您需要弄清楚如何做到这一点抱歉,我不是 ASP 专家,您可以 post 网站 ASP 部分的这段代码,并寻求某人使用此脚本进行目录递归的帮助。