使用 HTML 和 JavaScript 的母版页






4.74/5 (29投票s)
介绍了一种使用 HTML 和 JavaScript 开发 Web 母版页的方法。
引言
大多数网站页面分为三个部分:页眉、页面内容和页脚。通常,网站上的所有页面在页眉和页脚方面都是相同的,只有页面内容会因页面而异。“母版页”允许页面页眉和页脚只创建一次然后重复使用。
在 ASP.NET 环境中,母版页是通过为页面内容变化的部分定义占位符来定义的。在 PHP 环境中,页眉和页脚通过使用 PHP include 功能“引入”到网页中。有一些第三方产品以类似于 ASP.NET 的方式提供母版页功能。也有人建议全局搜索和替换操作就足够了。
我遇到了这些方法的每一个问题。PHP 不是我的选择。我使用的 IDE 是 Visual Studio 2008 Express。它没有内置的 PHP 支持。全局搜索和替换充其量是危险的,因为可能出现意想不到的结果。第三方技术需要我掏钱付款。尽管我使用支持 ASP.NET 的 IDE,但我希望网页独立于 Microsoft,也就是说,只用 HTML 和 JavaScript 编写。
本文介绍了一种使用 HTML 和 JavaScript 构建网站“母版页”的方法。
背景
我想创建的页面是这样的格式:
页眉和页脚在整个网站中必须是恒定的。不是不能更改的意义上的恒定,而是从网页到网页相同的意义上的恒定。例如:
对我而言,我希望页眉包含:
- 一个网站 logo,如果用户点击 logo,则链接到目标页面
- 页面标题
- 页面副标题
- 一条分隔页眉和内容的水平线
我想在页面加载时修改页面标题和页面副标题。
我希望页脚包含:
- 指向其他网站页面的链接
- 版权声明
如果我使用 W3C Markup Validation Service 验证页面,我希望将 W3C 验证图标放在页脚。
我还希望能够完全独立于页面内容,修改页眉和页脚的内容。
Using the Code
页眉和页脚文本保存在网站目录树中的文本文件中。我的网站的相关目录结构是:
GGGustafson
CSS
GGGustafson.css
HeaderFooterContents
footer_contents.txt
header_contents.txt
Images
favicon.ico
SiteLogo.png
ValidXHTML10.png
Scripts
add_footer.js
add_header.js
IO.js
place_in_outerHTML.js
ContactMe.html
Default.html
PrivacyPolicy.html
请注意,我的网站托管在 Microsoft Office Live (MSOL) 上。MSOL 希望网页是 ASPX 或 HTML 页面。在本文中,我将使用母版页可下载源代码中的 HTML 页面。但是,如果读者使用 Visual Studio 构建网站页面,请选择 ASPX 页面。一旦定义了新页面,您可以选择删除 Visual Studio 自动生成的 *aspx.cs* 和 *designer.cs* 页面。您也可以将网页扩展名从 *.aspx* 更改为 *.html*(在以下对话框中选择“是”)。
请注意,`