无需JavaScript,如何在主HTML中引入外部HTML文件?
无JavaScript实现HTML代码引入的方案
方法1:服务器端包含(SSI)
这是最贴近你需求的方案,纯服务器端处理,无需前端JavaScript,访问时服务器会直接将外部HTML内容嵌入主页面。
- 先确认NAS上的Web服务器(如Apache、Nginx)支持SSI功能,多数NAS的Web服务后台可直接开启该选项。
- 若需要,修改主HTML文件的扩展名(比如改为
.shtml),或者在Web服务器配置中设置让.html文件也能解析SSI指令。 - 用SSI的include指令替代你设想的"magic-function",示例代码:
<!DOCTYPE html> <html> <body> <p>my main content</p> <!--#include virtual="someCode.html" --> </body> </html>
- 注意:
someCode.html需与主文件在同一目录,或用相对路径指定位置,服务器会自动将该文件内容插入指令所在位置。
方法2:PHP包含(NAS需支持PHP)
如果你的NAS开启了PHP支持,可使用PHP的include/require函数引入外部HTML:
- 将主文件扩展名改为
.php - 代码示例:
<!DOCTYPE html> <html> <body> <p>my main content</p> <?php include 'someCode.html'; ?> </body> </html>
访问时服务器会先解析PHP代码,嵌入外部HTML内容后再返回给浏览器。
关键说明
原生HTML本身没有你设想的"magic-function"标签——HTML是纯静态标记语言,无内置文件引入能力,必须依赖Web服务器的服务器端处理能力,才能实现无JavaScript的外部HTML引入。只要你的NAS Web服务支持上述任意一种方法,就能满足需求。
内容的提问来源于stack exchange,提问作者Cedric
相关产品推荐
相关产品推荐

