2017-04-12 57 views
0

我的第一篇文章,所以原諒我,如果我沒有做到這一點,並且謝謝。如何將谷歌自定義搜索插入導航菜單'CentralizedMenu'

我想在最後一個項目「關於」右側的「Ali Shtarbanov的menuBar/centralizedMenu」中添加一個'Google Custom Search'框,並在監視器屏幕爲較小 - 此菜單將在較小的屏幕上摺疊/調整爲三格。我使用HTML,沒有PHP。

當我添加Google代碼只是創建一個空的空間,沒有搜索框。這是谷歌的功能代碼我加入的一個例子:他menuBar.html和輸出

<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> 

代碼是在這裏: 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> 

謝謝再次, Christina PS我想把一個鏈接放到我試圖做的事情上,但是因爲我是一個新成員,所以我說我不允許有這麼多的鏈接。

回答

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> \t 
 
    <!-- 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>

+0

完美的謝謝! :D最後我能夠打勾接受 – ChristinaD

0

首先,您的代碼中存在拼寫錯誤。問題在於收盤報價。只要改變一下,你就很好。

var cx = 'xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxx’; 

var cx = 'xxxxxxxxxxxxxxxxxxxxxxx:xxxxxxx'; 

第二,如果你想這樣做,就像你所描述的,有一些工作。你必須把<gcse:search></gcse:search>放到你的HTML的某個地方。

但是,您不希望將它作爲一個列表項目<li>,因爲在較小的屏幕中查看時,整個菜單會崩潰。所以我推薦的是創建一個新的<div>ID並把它放在<div class="navbar-header">之後,</button>

其餘的只是css。如果你有使用CSS的經驗,這不會是一個問題。

重要通知:請先嚐試,並且在卡住的地方,我們可能會很樂意提供幫助。只是告訴我們你是如何來到目前爲止。發佈問題時有一個片段工具,您可以在其中粘貼JS,CSSHTML以及外部庫支持,例如JqueryBootstrap。不要猶豫,

+0

謝謝Rüzgar。我貼在這裏的錯字實際上對我真實的文件是正確的。我仍在努力,可能會找到一些可行的方法。我會以任何方式更新。 – ChristinaD

+0

所以不應該有任何問題,因爲我在我的本地主機上嘗試過,而且一切都很好。也許問題是由你放腳本的地方引起的。 –

+0

再次感謝您。我在我現有的菜單上嘗試了這一點,如果我能夠正常運行它,這將是完美的:但我必須明天繼續 – ChristinaD