1. 程式人生 > >基於angularjs單頁面應用web的全站搜尋思路心得

基於angularjs單頁面應用web的全站搜尋思路心得

1.html部分,在搜尋框中加上keydown監聽事件,在搜尋按鈕上加上點選事件,這樣在搜尋框中按enter鍵就可以搜尋

<input type="text" id="webSiteSearchInput" ng-model="app.keyword" ng-keydown="funKeyDownSearch($event)" placeholder="請輸入關鍵字..." />

<a class="btnSearch" ng-click="webSiteSearch()"><i class="fa fa-search"></i>&nbsp;誠信搜尋</a>

2、在主頁面的js中,點選事件方法,不為空時,跳轉搜尋頁,若停留到搜尋頁,則reload搜尋頁;已經keydown監聽enter鍵,然後調用搜索事件

$scope.webSiteSearch = function () {
          if ($scope.app.keyword == "") {
              sp.dialog("關鍵字不能為空!");
          } else {
              sessionStorage.setItem("chengXinWebKeyWord", $scope.app.keyword);
              if($location.path() =='/credible/keyWordSearch'){
                $state.reload('credible/keyWordSearch')
              }else{
                $location.path('credible/keyWordSearch');
              }
              //alert($scope.app.keyword);
          }          
      }
      $scope.funKeyDownSearch = function (e) {          
          var keycode = window.event ? e.keyCode : e.which;         
          if (keycode == 13) {
              $scope.webSiteSearch();
          }          
      };

3.搜尋結果展示頁---

3.1. 獲取到富文本里面搜尋內容之後,將裡面的所有html標籤,都替換掉,然後擷取長的以省略號顯示

                    var objString = item.CONTENT; //接收新聞內容
                    var dd = objString.replace(/<\/?.+?>/g, "");  ///替換html標籤
                    var dds = dd.replace(/ /g, ""); ////替換空格
                    var objLength = dds.length;
                    var num = 190;
                    if (objLength > num) {
                        dds = dds.substring(0, num) + "...";
                        item.CONTENT = dds;
                    } else {
                        item.CONTENT = dds;
                    }

3.2. 根據後臺返回的聯查詢的資料庫表明,進行拼接跳轉路徑url

                /////得到當前網址,然後擷取前面部分,最後與各個不同表的連結拼到一起
                var get_url = $location.absUrl(); ///得到網址
                var get_url_split = get_url.split('credible'); ///將網址拆分成陣列,
                var set_url = get_url_split[0]; ///取陣列前面部分

                   if (item.TYPE == "PICTURENEWS") {
                        //圖片新聞
                        item.URL = set_url + "credible/imgNewsDetail?id=" + item.ID + "";
                    } else if (item.TYPE == "HONESTYCULTURE") {
                        //誠信文化
                        item.URL = set_url + "credible/cultureDetail?id=" + item.ID + "";
                    } else if (item.TYPE == "GENERALNEWS") {
                        //普通新聞
                        item.URL = set_url + "credible/problemsDetail?id=" + item.ID + "";
                    } else if (item.TYPE == "POLICYREGULATION") {
                        //政策法規
                        item.URL = set_url + "credible/policyDetail?id=" + item.ID + "";
                    } else {
                        //政策圖解
                        item.URL = set_url + "credible/policyImg?id=" + item.ID + "";
                    }

線上網上瀏覽網址:http://47.92.116.158:8872/chengxinweb/#/credible/index