想要在多个网页中添加同一段文字

Want to add a same paragraph of text in multiple web pages

本文关键字:文字 一段 添加 网页      更新时间:2023-09-26

我正在开发一个HTML5/CSS3网站,在所有10或15个网页中都有相同的文本块。在所有网页中添加相同文本的最佳方法是什么?我应该通过php或javasript包含来自外部文件的文本吗?或者我只是在所有网页中复制并粘贴文本?

如果我应该选择第一个选项,那么它会减慢我的网站加载外部文件的速度吗?

如果我应该选择第二个选项,那么如果网站所有者想要对文本进行一些更改呢?

编辑:我已经使用java从外部文件中包含了页眉、页脚和主菜单。在一个页面中添加太多外部文件会有影响吗?

我更喜欢java而不是php,因为我不想将文件扩展名从.html更改为.php。

我应该通过php或javasript包含来自外部文件的文本吗?

如果用PHP做这件事是一种选择,那就去做吧。浏览器显示页面所需的HTTP请求越少越好。还要注意的是,虽然像谷歌这样的搜索引擎确实处理一些JavaScript,但我不会依赖它们来处理ajax请求并对结果进行索引。如果你将其包含在JS中,大约2%没有启用JavaScript的用户将看不到内容。将其包含在PHP中意味着您将内容放在一个文件中,因此更新它很容易(而不必在10或15个不同的地方更新)。

更多来自YUI加速网站的最佳实践:

最小化HTTP请求

80%的最终用户响应时间用于前端。大部分时间都需要下载页面中的所有组件:图像、样式表、脚本、Flash等。减少组件数量反过来又会减少呈现页面所需的HTTP请求数量。这是加快页面速度的关键。

在您的网页中添加一个script标签(无论您想要该段落的位置)

<script src="addparagraph.js"></script>

在这个addparagraph.js文件中

(function(){
   var body = document.body;
   body.append( "<p>some text</p>" );  //this paragraph will be appended to every webpage in which add addparagraph.js is loaded
})();

通过这种方式,您的所有者可以始终在一个地方编辑更改,这也将是异步的,因此您的网站也不会减慢

最简单的方法是使用PHP:

<?php include('paragraph.html'); ?>

您的页面需要将扩展名更改为.php才能正常工作;您还需要在web服务器中启用PHP。性能会有轻微的影响,但它应该很小,除非你是谷歌,否则这无关紧要。

另一种方法是使用像Jekyll这样的服务器端模板引擎生成具有相同内容的15个HTML文件。它要求您每次更改某些内容时都重新编译您的网站,但它可以是自动化的,这样在服务时就不会对性能造成任何影响。

正如您所说,复制粘贴解决方案是最糟糕的,您永远不应该使用它,即使客户发誓他们永远不需要编辑页面。因为他们最终都会。