<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          淺談網站無刷新更新技術,基于hash路由的實現。

          時間:?2017-10-31閱讀:?1806標簽:?跳轉

          現在為了提高網站的用戶體驗,如添加頁面切換動畫,減少頁面加載,很多網站為此都采用了無刷新技術來加載頁面內容。目前很多框架都是實現了這一點來開發單頁應用,比如angular,vue,react等,這篇文章將簡單的介紹無刷新技術的一些實現方式。

          hash路由的實現 

          hash是指url帶 # 號的形式,采用這種方式方式兼容性比較好。我們只需要改變‘#’后面的內容,更新URL是不會引起頁面跳轉的。例如:

          <a href="#/index">index</a>
          <a href="#/about">about</a>

          當點擊了a標簽后,url將會改為:域名/#index的樣子,這里我們只需要通過js來監聽URL的改變,如下:

          window.addEventListener('hashchange',callback);

          當監聽到路由變化后,我們需要根據路由的變化通過callback回調函數來映射不同的頁面,這里需要注意的在callback中不要去操作url,否則會出現死循環。下一步我們對路由進行注冊,不同的路由執行不同的事情:

          var routers=[
          	{path:'#index',component:function(){
          		console.log('index')
          	}},
          	{path:'#about',component:function(){
          		console.log('about')
          	}},
          ];

          最后把routers和callback關聯起來

          function callback(){
          	for(r in routers){
          		if(routers[r].path==location.hash){
          			routers[r].component();
          		}
          	}
          }

          到這里點擊不同的鏈接,我們在控制臺可以看到對應的輸出。然后里面的內容就需要我們異步去加載數據,然后渲染成dom,追加到頁面即可。類似于

          <!--html結構--->
          <div id="main"></div>
          

          <script>

          var template='<div>渲染后的模板</div>'; document.getElementById('main').innerHTML=template;

          </script>

          這就是一個最簡單的通過hash路由來實現頁面的無刷新更新頁面的。寫的很簡單,也很丑陋,但是思路就是這樣。





          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/38

          javascript如何實現頁面跳轉?

          在JavaScript中有好幾種方法可以實現頁面跳轉,重定向到另一個網頁,下面本篇文章就來給大家介紹一些使用JavaScript實現頁面跳轉的方法,希望對大家有所幫助。

          移動端 location.href 無法成功跳轉頁面

          最近做的移動端頁面在請求成功后要跳轉頁面,通過location.href實現的跳轉。但同事在測試時,安卓機可以成功跳轉,蘋果IOS確無法成功跳轉。

          微信小程序路由跳轉

          wx.switchTab(Object object)這里的tabBar是底下的導航欄指定的頁面,跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面;wx.reLaunch(Object object)基礎庫 1.1.0 開始支持,低版本需做兼容處理。

          vue路由使用router.push進行路由跳轉

          route-link是在html中靜態定義的,也可以在代碼中動態跳轉:注意絕對不能寫href=,這樣執行click跳轉后,又會執行href跳轉到當前頁面push也可以直接使用path:

          angular怎么做前端頁面跳轉?

          Angular中每個頁面的顯示都需要三個要素:頁面的代碼,控制器和頁面的URL;當要在同一個頁面上呈現不同的視圖時,這就需要配置路由啦;angular.js已經為我們封裝了一個獨立的路由工具ng-route;ng-route是靠URL來改變顯示的視圖的

          js頁面跳轉另一頁的方法——location.href和location.replace用法和區別

          window.location.href方式用于跳轉到指定頁面地址,location.replace將目前瀏覽器的地址替換掉,調用這個方法的網頁,將不會被寫入瀏覽記錄。

          js刷新當前頁面,js實現頁面自動刷新、跳轉的方法總匯

          Javascript刷新當前頁面:history.go(0)、location.reload()、location=location、location.assign(location)、document.execCommand(Refresh)、location.replace(location)等,Javascript頁面自動刷新、跳轉,如每隔多少秒刷新一次頁面.

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网