我创建了一个网站,它需要一个搜索功能。该网站有一堆html页面示例:index.html,about.html,contact.html等等...搜索栏位于每个页面的导航栏中,我希望能够在索引上输入内容。 html页面,如果about.html页面中有结果显示该结果。现在我在我正在浏览的页面上搜索时没有问题,但我甚至不知道从哪里开始能够搜索外部html页面"例子about.html。我有搜索和浏览互联网找不到任何东西。你能用Jquery或javascript做这个吗?
任何帮助或建议将不胜感激。提前致谢
答案 0 :(得分:0)
您可以使用JavaScript的Ajax调用来获取您拥有的所有页面,并使用正则表达式查找您正在寻找的内容。
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$.get('https://www.html5rocks.com/en/tutorials/cors/', function(response) {
var query=(response.search(/Using CORS - HTML5 Rocks/i));
if(query>-1){
console.log("https://www.html5rocks.com/en/tutorials/cors/")
}
else{
console.log("not found")
}
});
</script>
</body>
</html>
&#13;
我建议使用某种类型的数据库来存储这种东西
答案 1 :(得分:0)
您可以执行类似的操作来实施Google搜索
site:lifewire.com power search tricks
了解w3schools如何实施其搜索框
这可以是一种方法。由于Google会在网络上的每个网页上搜索他们的关键字。
您可以使用他们的功能并根据您的要求进行塑造。
答案 2 :(得分:0)
我为此编写了这段代码:
重要提示:不在<body>
底部使用此脚本,而不是在<head>
标记中写下此内容。如果您在<body>
中写下此内容,则始终会将当前页面作为搜索结果之一。
var myPages = ["About.html", "Index.html", "Store.html"]; //your pages in here
var searchResult = []; //here we have result
var searchFor = "chicken soup"; //what we search
$.each(myPages, function (index, value) {
$.ajax({
async: false,
type: 'GET',
url: value,
success: function (data) {
var body = $(data).text().replace(/\s+/gm, ' ');
if (body.indexOf(searchFor) >= 0) {
searchResult.push(value);
}
}
});
if (index + 1 == myPages.length) {
alert(searchResult);
}
});
我强烈认为你应该不这样做。因为它真的很慢。想象一下,你有50页,客户应该等待50页的搜索。相反, Wisnu 建议从数据存储区或索引页或数据库中获取详细信息....