绘制页眉/页脚与javascript包括和document.write

drawing page header/footer with javascript includes and document.write

本文关键字:包括 write javascript document 绘制      更新时间:2023-09-26

我们庞大的公司网站使用javascript在每个页面上使用document.write绘制页眉/页脚。这使我们可以很容易地从一个地方维护我们网站的"皮肤"。几年来,这种方法对我们很有效。

然而,最近我们在使用IE时遇到了很大的困难。这个问题似乎源于这样一个事实,即头javascript打开了一个由脚脚本关闭的标签。页眉和页脚用于在一系列div中"包裹"正文,以提供适当的外观。

与此同时,我们在页面主体中进行了许多花哨的dom操作。IE现在经常大声抱怨我们试图在dom元素关闭之前修改它们,就像这样:

网页错误详情

User Agent: Mozilla/4.0 (compatible;MSIE 8.0;Windows NT 5.1;三叉戟/4.0;.net CLR 2.0.50727时间戳:Tue, 3 Jan 2012 22:20:28 UTC

Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)
Line: 0
Char: 0
Code: 0
URI: http://dev.site.com/business_portal_test.jsp
一些问题:

  • 是使用javascript包括"包装"的核心内容在额外的div合理的方法?
  • 谁能指出使用这种技术的高质量,高流量的网站?
  • 这种技术有一个名字吗?

这种方法的主要问题是它使整个站点的布局依赖于javascript,这完全违背了公认的最佳实践。您可以使用服务器端的包含或母版页的概念轻松实现相同级别的可维护性。除非有非常特殊的原因,否则JS不应该真正用于网站的布局或皮肤。