成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JSON隔離網站布局和頁面實際模塊的內容載入

開發 前端
在項目中,有個這樣的需求:動態維護頁面的布局,以及動態載入布局容器中的具體模塊。本文將為大家講解如何利用JSON隔離網站布局和頁面實際模塊的內容載入。

最開始的實現方式是,在服務端一次性獲取當前頁面的布局結構,當前頁面的所有功能模塊,同時通過循環檢索某一功能模塊屬于哪個容器并合理放置,***獲取具體功能模塊的實際內容,一次性輸出完成頁面的顯示。

雖然解決了問題,但這種方式導致了單次請求返回數據的急劇增大,特別是在頁面布局復雜、功能模塊繁多時,尤其明顯。

經過多方驗證,我決定采取將布局構建和內容獲取進行隔離、分批次獲取內容的方式,以達到減小單次請求數據量的目的。具體步驟如下:

***步:采用常規方式,返回頁面布局HTML結構,同時也json方式,返回當前頁面的所有功能模塊基本信息

布局HTML結構示例

1 <div class="enjoosite_layout_container">
2   <div class="enjoosite_layout_item" columnindex="0"></div> 
3   <div class="enjoosite_layout_item" columnindex="1"></div>
4   <div class="enjoosite_layout_item" columnindex="2"></div>
5 </div>

同步加載的功能模塊JSON

var __widgets = [
  {"widgetId":64,"title":"靜態文本","widgetName":"statichtml",
"key":"77","columnIndex":0,"sortIndex":1},
  {"widgetId":62,"title":"EnjooSite | 熙杰科技知識庫",
"widgetName":"statichtml","key":"76","columnIndex":1,"sortIndex":1},
  {"widgetId":66,"title":"本頁說明","widgetName":"statichtml",
"key":"82","columnIndex":1,"sortIndex":2}
];

第二步:在客戶端,利用js,將功能模塊準確放置如對應的布局容器中

我在布局容器HTML結構中,增加了columnindex屬性,在功能模塊的JSON配置中對應了columnIndex屬性,因此利用此屬性,輔以jQuery的強大選擇功能,可以非常方便的將功能模塊放置入對應容器,同時JSON配置中的sortIndex屬性可以確定同一容器中的先后順序。

第三步:利用jQuery的ajax方法,分批次異步加載具體功能模塊的實際內容

我們可以看到,在功能模塊的JSON配置中,每一個功能模塊都具有:widgetName 和 key 2個屬性,widgetName屬性可以確定當前功能模塊的實際類型,如上例中的"statichtml"表示靜態HTML文本模塊,而key屬性,則對應于當前模塊在系統業務邏輯中所對應的唯一關鍵值,這個關鍵值需要配合功能模塊的具體類型進行綜合應用,以實現從數據庫或XML配置文件獲取內容的目的。

在異步獲取功能模塊的實際內容環節,我采取了分批次加載的方式,如果同時發出內容獲取的ajax連接超過10個,那么后續的請求進入等待隊列,等待前面的10個請求。當前10個請求返回一個時,則立即從等待隊列中提出一個進行連接。這樣,始終以比較平緩的數據請求量連接服務器,而頁面內容也始終以比較緩和的方式呈現。

這種方式還值得完善的地方就是,***能夠靈活設定,哪個功能模塊的加載具有高優先級就更好了。呵呵呵,慢慢再完善了。

【編輯推薦】

  1. 基于XML和JSON設計的Flex
  2. 超越XML和JSON:YAML,Java開發人員的新選擇
  3. 利用JSON在JavaScript中實現枚舉
責任編輯:彭凡 來源: cnblogs
相關推薦

2010-09-14 08:53:06

DIVTable

2010-08-27 10:49:38

DIVtable

2010-08-24 10:26:47

DIV+CSS

2010-08-16 09:32:01

DivCSS

2023-12-18 14:56:00

模塊化單體系統數據庫

2011-06-27 17:32:20

2022-09-02 08:00:00

CSS開發框架

2010-08-16 13:39:18

DIV+CSS

2010-08-27 10:59:11

DIVTable

2009-06-09 10:24:35

NetBeansStruts頁面布局

2010-03-16 18:59:47

Python模塊

2010-03-19 14:59:00

python Stri

2009-07-21 13:14:27

Web頁面并行化網頁載入時間

2021-12-03 09:01:36

PythonJson文件Python基礎

2010-09-09 16:36:36

DIV標簽

2010-01-06 10:27:32

JSON數組

2009-09-17 09:16:25

WebForm頁面內容ASP.NET MVC

2009-10-14 11:38:14

數據中心網絡布局

2018-12-06 14:56:46

微服務隔離熔斷

2010-08-27 13:58:06

DIV+CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费看黄色片 | 91精品国产色综合久久 | 天堂一区二区三区 | 日日夜夜免费精品 | 国产黄色电影 | 久热久草 | 国产精品精品视频一区二区三区 | 黄色国产 | 精品一区国产 | 国产精品一区二区av | 日韩午夜精品 | 亚洲精品3 | 成人免费视频网站在线看 | 羞羞视频在线网站观看 | av久久| 91亚洲精品在线观看 | 国产精品福利一区二区三区 | 久久国内精品 | 婷婷精品 | 午夜精品一区二区三区在线播放 | 成人精品鲁一区一区二区 | 午夜免费网站 | 伊人网在线综合 | 黄色大片在线 | 国产一区二区三区在线免费 | 成人在线精品 | 人人99| a级在线观看 | 久草免费在线视频 | 亚洲精品乱码久久久久久蜜桃 | 久久久久久一区 | 欧美一区二区三区在线免费观看 | 亚洲色图第一页 | 精品欧美一区二区三区久久久 | 欧美精品一区二区三区四区五区 | 91精品国产综合久久婷婷香蕉 | 天天拍夜夜爽 | 日韩在线观看视频一区 | 欧美在线| 日韩精品免费在线观看 | 欧美一级片在线播放 |