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

时间:2016-02-29 09:06:42

标签: javascript html search search-engine

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

它们是纯HTML - 到目前为止还没有CSS或脚本。

我的意思是非常简单,因为我受到时间的限制。

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

我在网上找到了谷歌和其他汽车创作者。但据我所知,他们要求设置互联网网址,不支持内部网站。

而我的网址域名是:

http://192.168.4.XXX/something.htm

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

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在运行什么来托管本地Intranet上的网页?

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

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

编辑: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>

然后&#34; searchresult.asp&#34;页面应该是:

'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

以上是直接来自链接网站的复制粘贴。在运行之前,请查看链接的网站并阅读代码!确保设置&#34; FolderToSearch&#34;到根文档文件夹。

看起来这段代码只会查看您设置为要搜索的文件夹中的文件。如果您想要阅读子文件夹等等,那么您需要弄清楚如何做到这一点抱歉,我是不是ASP专家,您可以在网站的ASP部分发布此代码,并通过此脚本获取目录递归的帮助。