搜索栏可搜索所有外部html页面

时间:2018-03-06 07:51:59

标签: javascript jquery html

我创建了一个网站,它需要一个搜索功能。该网站有一堆html页面示例:index.html,about.html,contact.html等等...搜索栏位于每个页面的导航栏中,我希望能够在索引上输入内容。 html页面,如果about.html页面中有结果显示该结果。现在我在我正在浏览的页面上搜索时没有问题,但我甚至不知道从哪里开始能够搜索外部html页面"例子about.html。我有搜索和浏览互联网找不到任何东西。你能用Jquery或javascript做这个吗?

任何帮助或建议将不胜感激。提前致谢

3 个答案:

答案 0 :(得分:0)

您可以使用JavaScript的Ajax调用来获取您拥有的所有页面,并使用正则表达式查找您正在寻找的内容。

这是一个例子 https://medium.freecodecamp.org/client-side-web-scraping-with-javascript-using-jquery-and-regex-5b57a271cb86



<!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;
&#13;
&#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 建议从数据存储区或索引页或数据库中获取详细信息....