想要在多个网页中添加同一段文字
Want to add a same paragraph of text in multiple web pages
我正在开发一个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文件。它要求您每次更改某些内容时都重新编译您的网站,但它可以是自动化的,这样在服务时就不会对性能造成任何影响。
正如您所说,复制粘贴解决方案是最糟糕的,您永远不应该使用它,即使客户发誓他们永远不需要编辑页面。因为他们最终都会。
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 收集一段时间内的EMG数据.建议JS
- 在一段时间内切换文本
- 如何停止字幕文本一段时间,然后继续
- HTTP服务器在一段时间后停止(Node.js)
- Hammer.js过了一段时间就停止工作了
- 在经过一段时间或满足条件后运行代码
- Meteor-在一段时间内解锁模板(按日期)
- 画布在一段时间后开始滞后
- 如何使用jquery/js/css逐步突出显示一段文本
- JS-在一段时间后水平移动图像
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 表单提交在一段时间循环PHP,jquery
- 一段时间后生成回发
- 一段时间后自动点击提交按钮
- 将字符串作为一段 HTML/javascript 代码执行
- 如何每隔一段时间更改我网站的背景颜色
- 我怎样才能在D3中的矩形上写一段文字呢
- 删除一段文字
- 在圆圈下面画一段文字