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 部分的这段代码,并寻求某人使用此脚本进行目录递归的帮助。
我在公司网络上创建了一个静态网站。 它没有暴露在互联网上。
它们是纯粹的 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 部分的这段代码,并寻求某人使用此脚本进行目录递归的帮助。