【问题标题】:How to insert Google Custom Search into Navigation Menu 'CentralizedMenu'如何将 Google 自定义搜索插入导航菜单“CentralizedMenu”
【发布时间】:2017-04-12 08:40:47
【问题描述】:

我的第一篇文章,如果我没有正确完成,请原谅我,谢谢。

我想将“Google 自定义搜索”框添加到“Ali Shtarbanov 的 menuBar /centralizedMenu”最后一项“About”的右侧以及它在监视器屏幕较小时创建的 3 栏图标的左侧- 此菜单将在较小的屏幕上折叠/调整大小为三个栏。我用的是html,没有php。

当我添加谷歌代码时只是创建了一个空白区域,没有搜索框。这是我正在添加的 Google 功能代码示例:

    <script>
    (function() {
var cx = 'xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxx’;
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>

他的 menuBar.html 上的代码和输出在这里: http://jsbin.com/cotewaxemi/edit?html,output 并粘贴到这里:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>MenuBar</title>
<!-- Bootstrap Core CSS -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom CSS: You can use this stylesheet to override any Bootstrap styles and/or apply your own styles -->
<link href="css/custom.css" rel="stylesheet">
</head>
<body>

<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <!-- Logo and responsive toggle -->
        <div class="navbar-header"> <!--This div creates a navigation button visible on smaller screens -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span><!--These tags create the standard 3-lin button logo on top right corner -->
                <span class="icon-bar"></span><!--Put the page less than full-screen to see this behavior -->
                <span class="icon-bar"></span>
            </button>
        </div>
        <div class="collapse navbar-collapse" id="navbar">
            <ul class="nav navbar-nav">
                <li><a href="#">Home</a></li>
                <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown1<span class="caret"></span></a><!--Requires the JavaScript files linked at the end-->
                    <ul class="dropdown-menu">
                        <li><a href="#">Item1</a></li>
                        <li><a href="#">Item2</a></li>
                        <li><a href="#">Item3</a></li>
                    </ul>
                </li>
                <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown2<span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">AnotherItem</a></li>
                        <li role="separator" class="divider"></li>
                        <li class="dropdown-header">Header:</li>
                        <li><a href="#">MoreItems</a></li>
                        <li><a href="#">MoreItems</a></li>
                        <li><a href="#">MoreItems</a></li>
                    </ul>
                </li>
                <li><a href="#">Tutorials</a></li>
                <li><a href="#">About</a></li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>  
<!-- JavaScript is required for the dropdown menu -->
<!-- Placed at the end of the document so the pages load faster -->
<!-- jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.js"></script>
<!-- Bootstrap core JavaScript-->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.js"></script>
</body>
</html>

再次感谢您, 克里斯蒂娜 附言我想在我尝试做的事情中添加一个链接,但由于我是新成员,它说我不允许这么多链接。

【问题讨论】:

    标签: jquery html menubar


    【解决方案1】:

    这是工作版本。

    注意:如果您看不到整个菜单,请单击面板右上角的整页。

    // Make sure in jsFiddle you have selected option onLoad
    (function() {
      var cx = '017643444788069204610:4gvhea_mvga'; // Insert your own Custom Search engine ID here
      var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
      gcse.src = (document.location.protocol == 'https' ? 'https:' : 'http:') +
          '//www.google.com/cse/cse.js?cx=' + cx;
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
    })();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.js"></script>
        <!-- Bootstrap core JavaScript-->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.js"></script>
    <!-- Navigation -->
        <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
            <div class="container">
                <!-- Logo and responsive toggle -->
                <div class="navbar-header"> <!--This div creates a navigation button visible on smaller screens -->
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span><!--These tags create the standard 3-lin button logo on top right corner -->
                        <span class="icon-bar"></span><!--Put the page less than full-screen to see this behavior -->
                        <span class="icon-bar"></span>
                    </button>
                </div>
                <div class="collapse navbar-collapse" id="navbar">
                    <ul class="nav navbar-nav">
                        <li><a href="#">Home</a></li>
                        <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown1<span class="caret"></span></a><!--Requires the JavaScript files linked at the end-->
                            <ul class="dropdown-menu">
                                <li><a href="#">Item1</a></li>
                                <li><a href="#">Item2</a></li>
                                <li><a href="#">Item3</a></li>
                            </ul>
                        </li>
                        <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown2<span class="caret"></span></a>
                            <ul class="dropdown-menu">
                                <li><a href="#">AnotherItem</a></li>
                                <li role="separator" class="divider"></li>
                                <li class="dropdown-header">Header:</li>
                                <li><a href="#">MoreItems</a></li>
                                <li><a href="#">MoreItems</a></li>
                                <li><a href="#">MoreItems</a></li>
                            </ul>
                        </li>
                        <li><a href="#">Tutorials</a></li>
                        <li><a href="#">About</a></li>
                      <li id="gsrc"><a data-toggle="modal" data-target="#myModal">
                        <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
                        </a></li>
                      <li>
                    </ul>
                </div>
                <!-- /.navbar-collapse -->
            </div>
            <!-- /.container -->
        </nav>	
        <!-- JavaScript is required for the dropdown menu -->
        <!-- Placed at the end of the document so the pages load faster -->
        <!-- jQuery -->
    
    <div id="myModal" class="modal fade" role="dialog">
      <div class="modal-dialog">
    
        <!-- Modal content-->
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Google Search</h4>
          </div>
          <div class="modal-body">
            <gcse:search></gcse:search>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          </div>
        </div>
    
      </div>
    </div>

    【讨论】:

    • 非常感谢! :D 最后我可以勾选接受
    【解决方案2】:

    首先,您的代码中有一个错字。问题在于结束报价。换行就好了。

    var cx = 'xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxx’;
    

    var cx = 'xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxx';
    

    其次,如果你想按照你描述的那样做,还有一些工作要做。您必须将 &lt;gcse:search&gt;&lt;/gcse:search&gt; 放入 HTML 中的某个位置。

    但是,您不希望在 about 之后将其作为列表项 &lt;li&gt;,因为在较小的屏幕中查看时,整个菜单会折叠。所以我建议使用ID 创建一个新的&lt;div&gt;,然后将其放入&lt;div class="navbar-header"&gt; 之后,&lt;/button&gt;

    剩下的就是 CSS。如果您有 CSS 经验,那将不是问题。

    重要提示:请先尝试,如果遇到困难,我们很乐意提供帮助。只是向我们展示你是如何走到现在的。发布问题时有一个 sn-p 工具,您可以在其中粘贴 JSCSSHTML 以及外部库支持,例如 JqueryBootstrap。不要犹豫,使用它,

    【讨论】:

    • 谢谢你。我在这里粘贴的错字实际上在我的真实文件上是正确的。我仍在努力,可能已经找到了可行的方法。无论哪种方式我都会更新。
    • 所以应该没有任何问题,因为我在本地主机上尝试过,一切正常。也许问题是由您放置脚本的位置引起的。
    • 再次感谢您。我正在我现有的菜单上尝试这个,如果我能让它正常运行,那将是完美的:cambiaresearch.com/articles/84/…> 但我明天必须继续
    • 好的。从这个例子看,我试过了,也许它可以帮助。这是JSBIN
    • Rüzgar 你太棒了!!!天哪,我迫不及待地想明天试试。谢谢谢谢。你太快了(我希望我在这里谢谢你没关系,因为我阅读了规则并且不允许聊天)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多