日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁(yè) > 編程 > HTML > 正文

傳統(tǒng)HTML頁(yè)面實(shí)現(xiàn)模塊化加載的方法

2024-08-26 00:21:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

對(duì)于網(wǎng)站來(lái)說(shuō)很多頁(yè)面之間都有著大量的共享模塊,如頁(yè)頭,頁(yè)腳和用戶欄等。對(duì)于具備后端視圖引擎的框架來(lái)說(shuō)這些共享都比較容易抽取,如asp.net mvc來(lái)說(shuō)就有統(tǒng)一布局的MasterPage,@Section等功能可以共享視圖模板功能。但對(duì)于HTML就沒(méi)這么幸運(yùn)了,在html文件里并不具備這些功能,所以當(dāng)你用純HTML頁(yè)面來(lái)寫(xiě)應(yīng)用網(wǎng)站的時(shí)候估計(jì)不得不面對(duì)這些重復(fù)的工作,雖然可以通過(guò)嵌套IFrame的方式來(lái)實(shí)現(xiàn),不過(guò)這種實(shí)現(xiàn)方式并不理想和友好。

實(shí)際場(chǎng)分析

最近基于自有框架實(shí)現(xiàn)一個(gè)網(wǎng)站,由于框架并不具備后端視圖引擎,這種麻煩事就碰到了...我們先來(lái)看一下實(shí)際情況。

HTML,模塊化,加載

HTML,模塊化,加載

以上兩個(gè)HTML頁(yè)面除了核心部分是獨(dú)有的,其他數(shù)據(jù)塊都是相同。如果沒(méi)有后端視圖引擎你想到怎樣做呢....剛開(kāi)始每個(gè)地方修改都要同步到其他頁(yè)面。后來(lái)發(fā)現(xiàn)這樣的做法一定會(huì)把自己迫死的。經(jīng)過(guò)一段時(shí)間的思考想到了一個(gè)解決的辦法。

公共模板定義

思考后發(fā)現(xiàn)可以把公共模板抽取到一個(gè)HTML文件中(文件名就暫定PublicModule.html),如下:

<templates>    <template id="header">        <div class="navbar-header">            <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".navbar-collapse">                <span class="sr-only">Toggle navigation</span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>            </button>            <a class="navbar-brand" href="/">.Net Library</a>        </div>        <div class="navbar-collapse collapse" role="navigation">            <div style="margin-top:15px;margin-left:120px; position:absolute;"><span style="color:white;padding-top:20px;">XXXXX</span></div>            <ul class="nav navbar-nav"></ul>            <ul class="nav navbar-nav navbar-right">                <li><a href="/Blog.html">博客</a></li>                <li><a href="https://github.com/IKende/FastHttpApi" target="_blank">github.com</a></li>                <li><a href="/admin/index.html">網(wǎng)站管理</a></li>            </ul>        </div>    </template>    <template id="doc_tags_navbar">        <div class="container-fluid" style="padding:0px;">            <ul class="nav navbar-nav btn-group-sm" id="tagbar">                <li><a style="font-weight:bold; padding-bottom:6px;padding-top:6px;" href="/index.html">首頁(yè)</a></li>                <li v-for="item in Data"><a v-bind:title="item.Remark" style="font-weight:bold; padding-bottom:6px;padding-top:6px;" v-bind:href="['/index.html?tag='+item.ID]">{{item.Title}}</a></li>            </ul>        </div><!-- /.container-fluid -->        <script>            var tagbarControl;            tagbarControl = new Vue({ el: '#tagbar', data: { Data: [] } });            async function ListDocTags() {                var result = await $ListDocTags();                tagbarControl.Data = result.Data;            }            ListDocTags();        </script>    </template><templates>

 

通過(guò)template標(biāo)簽來(lái)定義一個(gè)模板塊,然后針對(duì)每個(gè)塊定義一個(gè)唯一ID。可能有些同學(xué)會(huì)問(wèn)template并不是有效的HTML標(biāo)簽,那怎處理里呢?對(duì)的template瀏覽器是不會(huì)處理,但JQuery是可以,說(shuō)到這里相信有此同學(xué)理解原理了。

在HTML中應(yīng)用模板

當(dāng)模塊定義后,那在HTML中怎么引用呢?其實(shí)HTML并不支持這樣的功能,不過(guò)我們可以給HTML定義一些自定義屬性給JQuery解釋,在這里定義了一個(gè)slot屬性用于指定模板ID

  <div class="navbar navbar-inverse navbar-fixed-top">        <div class="container" slot="header">        </div>    </div> <nav class="navbar navbar-default" style="padding:0px;margin:0px;min-height:0px;" slot="doc_tags_navbar">                </nav>

模板定義了,頁(yè)面的HTML也引用了,接下來(lái)就要整合他們。到了這里相信熟悉JQuery的朋友一定想到要怎么做了:)

使用JQuery整合加載

對(duì)于JQuery來(lái)說(shuō)可以把公共模塊頁(yè)加載后轉(zhuǎn)成DOM,然后替換頁(yè)面上定義了slot的元素

function moduleLoad(url) {    $.get(url, function (result) {        var html = $(result);        var __templates = html;        $("[slot]").each(function () {            var id = $(this).attr('slot');            var body = $(__templates).find('#' + id).html();            $(this).html(body);        });    });}$(document).ready(function () {    moduleLoad("/PublicModule.html");});

代碼簡(jiǎn)單有效,把整會(huì)腳本存到一個(gè)文件中,然后添加到頁(yè)中就自動(dòng)加載了.

加載速度問(wèn)題

原本一次就能加載的HTML頁(yè)面,現(xiàn)在還需要Ajax加載不會(huì)導(dǎo)致加載慢了嗎?其實(shí)可以把公共模塊的HTML頁(yè)做一個(gè)本地緩存策略,這樣所有頁(yè)面加載模塊的時(shí)候都能直接從本地拿;由于公共部分抽取出來(lái),從而讓相關(guān)頁(yè)面的休積變得更小,加載速度更快。

HTML,模塊化,加載

基于純HTML/JS前端開(kāi)發(fā)優(yōu)勢(shì)

對(duì)于習(xí)慣使用服務(wù)端視圖引擎的朋友來(lái)說(shuō),完全使用HTML/JS的前端開(kāi)發(fā)模式可以有點(diǎn)困難。但完全基于HTML/JS的前端開(kāi)發(fā)有著明顯的優(yōu)勢(shì),視圖處理不需要服務(wù)解釋大大降低了服務(wù)器的損耗,HTML可以更好地做本地化緩存,還有現(xiàn)在大量的HTML/JS框架讓你在編寫(xiě)的時(shí)候更輕松簡(jiǎn)單。
 

總結(jié)

以上所述是小編給大家介紹的傳統(tǒng)HTML頁(yè)面實(shí)現(xiàn)模塊化加載的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到HTML教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产视频1区2区| 国产日韩三级| 精品乱人伦一区二区三区| 天天综合日日夜夜精品| 日本亚洲欧美| av中文网站| 午夜国产在线| 日韩不卡在线观看| 日韩精品视频在线| 日韩欧美国产成人一区二区| 精品中文在线| 欧美性极品xxxx做受| 久久91精品久久久久久秒播| 久久99精品国产| 国产不卡视频在线| 日韩精品手机在线| 国产日韩亚洲欧美| 视频在线一区二区| 麻豆精品视频入口| 国产丝袜一区二区| 91精品国产全国免费观看| 一区二区视频在线| 日韩 国产 一区| 欧美日韩视频免费看| 国产午夜精品视频免费不卡69堂| 欧美变态tickling挠脚心| 欧美日韩国产免费观看| 一区二区日韩av| 欧美日韩乱国产| 在线资源av| 日韩在线三区| 午夜一区二区三区视频| 国产男女av| 日韩wumaV| 中文字幕 欧美日韩| 国内不卡的二区三区中文字幕| 日韩高清不卡| 日韩不卡一二区| 色99中文字幕| 国产在线精品国自产拍免费| 一级特黄大欧美久久久| 国产1区在线| 欧美性生交大片免费| 午夜黄色小视频| 精品国产免费视频| 国产视频三级在线观看播放| 一区二区三区鲁丝不卡| 亚洲成av人片一区二区密柚| 免费一级欧美在线观看视频 | 国产欧美日韩在线视频| 人妻一区二区三区免费| 在线不卡日本| 欧美日韩国产一区在线| 亚洲va久久久噜噜噜久久| 欧美日韩精品区| 91精品久久久久久久久| 亚洲视频中文字幕| 亚洲第一视频网站| 日韩精品欧美| 91精品国产自产在线丝袜啪| 精品久久人人做人人爽| 日韩欧美在线视频日韩欧美在线视频| 最近中文av字幕在线中文| 久久99精品国产| 色欧美日韩亚洲| 欧美亚洲免费高清在线观看| 欧美另类久久久品| 一二三区精品福利视频| 中文字幕日韩精品在线| 国产高清精品二区| 日韩欧美中文第一页| 欧美日韩在线第一页| 一二三区精品视频| 欧美日韩乱国产| 一区二区精品免费| 在线中文免费视频| 精产国产伦理一二三区| √天堂资源中文www| 日韩欧美看国产| 91精品国产调教在线观看| 日韩久久久精品| 午夜精品免费视频| 国产黄色网页| 日韩在线中文| 欧美日韩在线播放一区| 日韩精品视频在线观看视频| 国产不卡一区| 精品欧美日韩| 亚洲黄在线观看| 91精品国产综合久久香蕉最新版 | 日韩综合精品| 国产成人一区二区精品非洲| 国产三级中文字幕| 国产免费播放一区二区| 日韩国产一区久久| 日韩免费视频| 尤物在线精品| 成人a在线观看| 精品免费视频| 欧美在线视频二区| 免费高清在线一区| 日韩精品久久久| 欧美日韩国产中文| 国产无遮挡在线视频免费观看| 亚洲尤物av| 日韩区欧美区| a天堂在线资源| 欧美日韩亚洲一区| 影音先锋中文字幕在线观看| 日韩欧美资源站| 欧美久久久精品| 精品人妻一区二区免费视频| 一级片免费在线播放| 91精品在线观看国产| 欧美日韩中文国产| 黄污视频在线看| 国产在线观看精品| 免费看黄资源大全高清| 欧美综合精品| 亚洲午夜av| aa国产成人| 一区二区三区在线|网站| 国产欧美久久久| 成人xxxx| 日本a口亚洲| 日韩精品高清不卡| 极品久久久久久| 国产香蕉精品视频| 日韩av二区| 精品视频在线导航| 欧美一级在线观看| 99pao成人国产永久免费视频| 日韩欧美在线中字| 国产亚洲污的网站| 精品中文字幕视频| 一本大道一区二区三区| 欧美日韩亚洲天堂| 91久久精品国产91久久| 欧美在线视频第一页| 国产在线导航| 精品日韩在线观看| 久久99精品久久久久子伦| 日韩精品手机在线| 日韩精品视频在线播放| 久久精品久久久久| 国产成人精品999在线观看| 国产香蕉免费精品视频| 日本a口亚洲| 欧美日韩三级在线观看| 国产手机视频一区二区| 婷婷久久综合九色国产成人| 在线视频不卡国产V| 在线一区二区不卡| 欧美日韩中文精品| 日韩精品视频在线免费观看| 欧美中文字幕视频在线观看| 在线欧美日韩精品| 国产一区精品| 91av久久久| 日韩不卡中文字幕| 91精品高清| 欧美日韩中文国产| 日韩欧美国产不卡| 日韩 欧美 中文| 国产拍揄自揄精品视频麻豆| 国产欧美高清在线| 日韩免费精品视频| 日韩欧美一级在线| 日韩va亚洲va欧洲va国产| 中文字幕在线观看播放| 91麻豆免费视频网站| 日韩欧美三级在线| 国产激情在线播放| 中文字幕精品视频在线| 日韩精品大片| 久久精品日韩无码| 韩日中文字幕第一页| 亚洲免费视频一区| 日韩亚洲不卡在线| 国产欧美久久久精品免费| 欧美日韩精品欧美日韩精品一| 在线国产1区| 久久精品久久精品国产大片| 日韩欧美国产黄色| 亚洲一区在线观看视频| 欧美日韩视频免费播放| 91精品999| 国产黄在线看| 日本a口亚洲| 国产在线视频一区二区| 国产一区在线观看视频| 欧洲精品久久久| 中文字幕欧美亚洲| 亚洲黄色片在线观看| 中文字幕亚洲一区二区av在线| 欧美日韩国产系列| 91精品国产综合久久精品app| 日韩在线视频网| 欧美1234区| 国精品产品一区| 不卡av免费在线| 中文精品视频| 日韩在线精品视频| 中文字幕人成乱码在线观看| 日韩三级高清在线| 日本中文字幕在线观看| 一区二区视频国产| 亚洲福利精品在线| 欧美婷婷精品激情| 精品视频—区二区三区免费| 亚洲女人天堂a在线播放| 欧美日韩国产中文| 国产一区免费视频| av亚洲免费| www.日韩免费| 中文字幕在线视频久| 亚洲欧洲日产国码av系列天堂| 久久精品国产2020观看福利| 天堂在线视频中文网| 国产视频1区2区| 一区视频在线播放| www.xxxx精品| 精品国产1区2区3区| 97视频在线| 中文字幕在线观看视频www| 精品国产乱码久久久久久牛牛| 中文字幕一区二区三区精品| 欧美日韩国产中字| 一区精品在线播放| 日韩免费精品| 日韩国产在线不卡视频| 欧美人妻一区二区三区| 一区二区三区在线播| 久久夜色精品国产欧美乱极品| 在线视频色在线| 国产区高清在线| 日韩在线三区| 日韩精品视频在线免费观看| 91精品999| 日韩在线视频网| 91精品视频播放| 91蜜桃婷婷狠狠久久综合9色| √天堂资源中文www| 粉嫩喷白浆久久| 精品日韩视频| 欧美一级日韩一级| 日本精品二区| 国产一级片在线| 日韩免费精品| 亚洲一区在线观看免费| 91精品国产高清91久久久久久| wwwwww在线观看| 亚洲一区在线观看免费| 欧美日韩精品免费看| 日韩欧美中文在线视频| 91精品国产91久久久久久青草| 欧美日韩国产亚洲一区| 亚洲一区在线观看网站| 日韩欧美国产亚洲| 91精品国产自产在线观看永久∴ | 欧洲精品在线视频| 中文字幕日韩国产| 精品一区二区三区中文字幕| 91精品国产综合久久蜜臀| 日韩免费高清一区二区| 91精品国产91久久久久久三级| 欧美日韩久久久| 日韩欧美中文字幕精品| 中文字幕精品视频在线| 欧美日韩国产一中文字不卡| 欧美日韩一二三四| 欧美日韩中文字幕视频| 欧美日韩精品在线视频| 精品亚洲综合| 国产欧美中文字幕| 欧美成人一区二区| av亚洲免费| 一区二区视频在线观看免费的| 午夜伦欧美伦电影理论片| 婷婷精品视频| 国产在线观看精品| 亚洲v中文字幕| 日本a口亚洲| 亚洲午夜91| 国产中文在线播放| 国产不卡在线| 97caopor国产在线视频| 黄色在线播放网站| 国产一级片在线播放| 国产69精品久久久久孕妇国产69久久 | 日韩av一区二区在线观看| 日本免费在线视频不卡一不卡二| 欧美日韩三级一区| 一区二区不卡在线| 久久久久久91| 日韩 欧美 中文| 欧美日韩乱国产| 午夜高潮免费视频| 国产字幕中文| www.xxxx精品| 欧美日韩国产不卡在线看| 国产性一级片| 92久久精品| 日韩在线视频一区二区三区| 中文字幕亚洲乱码| 欧美日韩精品高清| 色99中文字幕| 日韩欧美国产不卡| 蜜桃视频一日韩欧美专区| 91精品久久久久久久91蜜桃| 欧美日韩精品三区| 99精品视频99| 成人无遮挡免费网站视频在线观看| 999精品视频在线观看播放| 国产精品一区二区三区免费观看| 在线视频你懂得一区| 国产欧美日产一区| 国产第一页在线播放| 一区二区中文视频| 婷婷中文字幕一区三区| 国产一级久久久| 免费视频久久| 国产高清精品二区| 91久久大香伊蕉在人线| 精品国产31久久久久久| 国产欧美日产一区| 欧美日韩高清在线播放| 欧美日韩在线国产| 欧美三级精品| 视频一区二区精品的福利| 日韩精品视频网站| 欧美高清视频一区二区三区| 欧美日韩视频免费看| 欧美日韩在线第一页| 国产天堂素人系列在线视频| 国产中文在线视频| 日韩视频精品| 91精品在线看V| 欧美日韩中文字幕综合视频| 亚洲经典中文字幕| 精品国产综合久久| 国产成人精品网址| 欧美 日韩 国产 在线观看| 成人精品视频一区| 亚洲 欧美 日韩系列| 中文字幕国产欧美| 精品婷婷伊人一区三区三| 精品久久九九| 亚洲开心激情| 欧美日韩中文在线| 综合图区亚洲白拍在线 | 久久91精品视频| 在线观看国产一区| 精品三级在线| 国产小视频免费在线观看| 日韩欧美看国产| 99在线国产| 国产在线看一区| 欧美日韩综合不卡| 欧美日韩午夜精品| 日韩欧美中文在线视频| 久久69成人| 一区二区中文视频| 樱花草www在线| 欧美日韩中文字幕精品| 中文精品在线| 天天综合日日夜夜精品| 欧美一级日韩一级| 亚洲三级av| 在线中文字幕视频| 中文字幕在线中文字幕二区| 日韩免费视频一区| 中文字幕久久av| 日韩亚洲不卡在线| 精品三区视频| 婷婷中文字幕综合| 亚洲专区一区| 亚洲欧美小说国产图片| 日韩国产高清一区| 最近高清中文在线字幕在线观看| 日韩中文欧美在线| 日韩一级免费在线观看| 国产www在线观看| 国产在线高潮| 日韩精品三级| 91精品国产综合久久香蕉的特点| 99在线精品视频免费观看20| 国产永久在线观看| 蜜桃久久av一区| 一区二区精品免费| 91精品日本| 欧美专区中文字幕| 精品日韩av| 一区二区三区四区五区视频在线观看| 日韩三级视频在线| 亚洲第一中文字幕| 色综合天天性综合| 国产日韩精品在线观看| 亚洲第一视频在线观看| 亚洲图片小说综合|