亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

director.js實現前端路由使用實例

2019-11-20 13:14:35
字體:
來源:轉載
供稿:網友

做過后端開發,尤其是使用過類似Django或者express對服務器端的路由功能應該都比較熟悉,國外流行的博客系統wordpress也是非常經典的路由實現案例。那么,究竟什么的路由呢,下面通過wordpress來簡單講一下。

理解wordpress重寫規則的的都是知道,實際上任何一條url的訪問都是基于wordpress安裝目錄下的index.php(除了服務器上已經存在文件的訪問),當wordpress的固定鏈接是模式設置是會很明顯,例如文章的url是index.php?p=id,分類頁面的url是index.php?cat=id。

在這里,index.php就充當了路由器的功能,請看下圖:

也就是說,不管你訪問的是什么地址,所有的請求最終都會重定向到index.php,程序會根據訪問url的特征,確定你需要的是哪個類型的頁面,然后向數據庫作出查詢,最終把html內容返回給瀏覽器。

上面說的是web后端路由,那么前端的路由是什么呢?實際上現在前端路由技術應用非常廣泛,有很多開源的js類庫都支持前端路由,如angularJS,ember.js, director.js等等。前端路由和后端路由原理一樣,是讓所有的交互和展現在一個頁面運行以達到減少服務器請求,提高客戶體驗的目的,越來越多的網站特別是web應用都用到了前端路由。

director.js是最純粹的路由注冊/解析器,它在不刷新頁面的情況下,利用“#”符號組織不同的URL路徑,并根據不同的URL路徑來匹配不同的回調方法。director.js不僅可以應用在客戶端,在使用node.js的后臺,它也能夠實現前面說的后端路由功能。來看下面關于前端路由實現的例子
需要設計一下類似web QQ上的web桌面應用,桌面上有很多小圖標,每一個小圖標是一個功能應用,類似電腦桌面。桌面上有一個百度新聞的按鈕,點擊它在當前頁面彈出一個窗口,能夠查看百度新聞,另外一個圖標,點擊可以查看當前時間,下面是一個簡單的示例:

<!DOCTYPE HTML><html lang="en"><head><meta charset="UTF-8"><script src="https://rawgit.com/flatiron/director/master/build/director.min.js"></script><style> * {margin:0;padding:0} body {width:100%;height:100%;background:#3d72b8} #baidunews {width:40px;height:40px;background:url("./du.png") no-repeat;display:block;margin:50px;} #tweibo {width:40px;height:40px;background:url("./du.png") no-repeat;display:block;margin:50px;}</style></head><body> <a href="#/baidunews" id="baidunews" title="百度新聞"></a> <a href="#/time" id="tweibo" title="當前時間"></a><script> //定義路由 var route = { "/time":nowtime, "/baidunews":[showframe,getbaidunew] }  //初始化路由 var router = Router(route) router.init(); //定義顯示當前時間的回調函數 function nowtime(){ var now=new Date(); var y=now.getFullYear(); var m=now.getMonth()+1; var d=now.getDate(); var h=now.getHours(); var mi=now.getMinutes(); var s=now.getSeconds(); alert("現在時間/n"+y+"年"+m+"月"+d+"日 "+h+"時"+mi+"分"+s+"秒");  } //定義顯示瀏覽器框架的函數 function showframe(){ var f=document.createElement("div"); f.style.width="985px"; f.style.height="500px"; f.style.position="absolute"; f.style.top="50px"; f.style.left="200px"; f.style.background="white"; f.style.border="2px solid #ccc"; //關閉按鈕 var close=document.createElement("span"); close.style.position="absolute"; close.style.right="5px"; close.style.cursor="pointer"; close.style.marginRight="5px"; close.onclick=function(){  document.body.removeChild(f); } close.innerHTML="X"; //加載站外的iframe var win=document.createElement("iframe"); win.id="myiframe"; win.frameBorder=0; win.style.width="100%"; win.style.height="100%"; f.appendChild(close); f.appendChild(win); document.body.appendChild(f); } //定義加載百度新聞網頁的函數 function getbaidunew(){ document.getElementById("myiframe").src="http://news.baidu.com/"; }</script></body></html>

從上面的代碼可以看出,director.js利用頁面中的“#”進行路由轉發。上面的例子只是一個非常簡單的實例,director.js能夠實現更加復雜、龐大的功能,它可以通過ajax和服務端數據交互,可以和其它js類庫并存,是一個web應用開發利器。

director.js對SEO有影響嗎?

客戶端的director.js對SEO有影響,因為數據所有數據只在一個頁面,有些數據的存儲方式不利于搜索引擎蜘蛛的抓取,如果你需要對SEO友好,說明你需要構造的是一個”web頁面”而不是“web應用”,不推薦使用director.js。

參考資料:director.js

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品国产三级国产aⅴ浪潮| 午夜精品福利视频| 高清日韩电视剧大全免费播放在线观看| 久久久久亚洲精品| 美女av一区二区三区| 国产亚洲视频中文字幕视频| 成人午夜在线视频一区| 成人午夜一级二级三级| 97av在线播放| 欧日韩在线观看| 中文字幕亚洲无线码a| 一区二区日韩精品| 国产精品视频专区| 亚洲午夜激情免费视频| 亚洲国产精品电影| 亚洲欧美一区二区三区在线| 在线观看欧美日韩| 色综合天天狠天天透天天伊人| 日韩av手机在线观看| 岛国av在线不卡| 久久视频在线观看免费| 亚洲一二三在线| 91av视频在线免费观看| 亚洲电影免费观看高清完整版在线| 精品国产一区二区三区久久久| 亚洲一级免费视频| 69久久夜色精品国产7777| 91精品国产色综合久久不卡98口| 国产精品私拍pans大尺度在线| 久久综合久久美利坚合众国| 日韩电影在线观看免费| 欧美亚洲视频在线观看| 国产99久久久欧美黑人| 孩xxxx性bbbb欧美| 777午夜精品福利在线观看| 精品久久久久久电影| www.xxxx欧美| 欧美极度另类性三渗透| 在线电影欧美日韩一区二区私密| 日韩在线一区二区三区免费视频| 日韩电影视频免费| 国产91免费看片| 国产精品尤物福利片在线观看| 日韩一级黄色av| 欧美裸体xxxx极品少妇软件| 国产视频久久久久久久| 亚洲人成电影网站色| 国产美女久久精品香蕉69| 最新91在线视频| 久久天堂av综合合色| 78色国产精品| 亚洲第一天堂无码专区| 亚洲国产另类 国产精品国产免费| 国产69精品久久久| 91九色国产在线| 不卡伊人av在线播放| 国产亚洲一区二区精品| 中文字幕亚洲一区二区三区五十路| 日韩视频精品在线| 理论片在线不卡免费观看| 久久久精品2019中文字幕神马| 欧美成年人在线观看| 久久国产加勒比精品无码| 91在线观看免费观看| xxav国产精品美女主播| 成人在线小视频| 欧美最猛性xxxxx亚洲精品| 久久伊人精品一区二区三区| 日本高清视频精品| 视频在线观看99| 亚洲大胆人体av| 亚洲国产精品久久久久秋霞蜜臀| 欧美黑人性视频| 98精品国产自产在线观看| 97国产精品视频人人做人人爱| 亚洲高清福利视频| 在线观看国产精品91| 成人在线视频福利| 国产视频精品在线| 久久全球大尺度高清视频| 中文字幕日韩在线视频| 国产成人精品免费视频| 国产亚洲欧美视频| 色偷偷亚洲男人天堂| 久久97久久97精品免视看| 亚洲电影天堂av| 国产视频欧美视频| 久久久久久午夜| 精品人伦一区二区三区蜜桃网站| 国产精品青草久久久久福利99| 日韩中文字幕在线视频播放| 日韩av片免费在线观看| 欧洲日韩成人av| 日韩精品中文字幕在线观看| 久久五月情影视| 欧美性感美女h网站在线观看免费| 色久欧美在线视频观看| 国产精品三级久久久久久电影| 黄色成人av在线| 欧美诱惑福利视频| 日韩欧美国产中文字幕| 亚洲第一av网站| 国产九九精品视频| 精品久久久久久久久久久久久久| 日本精品免费观看| 中文字幕亚洲一区二区三区五十路| 日韩理论片久久| 在线不卡国产精品| 国产精品网址在线| 日韩av在线电影网| 日韩av免费一区| 久久国产精品网站| 国产精品中文在线| 中日韩午夜理伦电影免费| 国产精品小说在线| 久久九九国产精品怡红院| 久久精品国产电影| 国产精品久久久久久久av大片| 亚洲韩国欧洲国产日产av| 欧美亚洲激情在线| 久久久久一本一区二区青青蜜月| 日韩av在线影院| 成人av番号网| 性欧美长视频免费观看不卡| 国产一区私人高清影院| 亚洲国产高清高潮精品美女| 欧美午夜视频在线观看| 深夜福利日韩在线看| 亚洲黄色在线看| 欧美视频免费在线| 欧美性生交xxxxxdddd| 亚洲最大福利视频网| 亚洲最大福利网站| 亚洲精品欧美一区二区三区| 欧美黑人一区二区三区| 欧美性猛xxx| 久久99视频精品| 伊人久久久久久久久久久久久| 久久久精品欧美| 亚洲欧美中文日韩在线v日本| 欧美日韩一区二区精品| 欧美另类69精品久久久久9999| 麻豆一区二区在线观看| 中文字幕精品—区二区| 国产www精品| 午夜精品一区二区三区在线| 一区二区三区四区在线观看视频| 欧美人与性动交| 国产精品av电影| 日韩在线中文字幕| 国产成人综合精品在线| 欧美专区中文字幕| 国产免费成人av| 亚洲四色影视在线观看| 精品无人国产偷自产在线| 国产成人精品免费视频| 亚洲影视九九影院在线观看| 91国产精品视频在线| 97婷婷涩涩精品一区| 亚洲天堂av在线免费观看| 亚洲欧美精品一区| 好吊成人免视频| 久久久亚洲影院你懂的| 色一区av在线|