在我的网站上有一个静态标题,其中包含一些图形&导航等。此内容是静态的,不必每次都加载。
有没有办法将它放在HTML文件中,将其缓存在客户端浏览器上,然后告诉浏览器将此文件包含在页面的某个位置?
答案 0 :(得分:0)
我能想到的唯一可能性是将静态HTML放入一个php文件中(在其中设置一些适当的标题以允许缓存)并使用JavaScript执行Ajax调用以将文件加载到您的站点中。使用jQuery,您可以使用:
$('#navigation').load('navigation.php');
这将使客户端使用单独的GET请求加载导航,如果您设置了适当的标头,则可以缓存该请求。
但是,我认为这是严重超载,并且可能导致导航在页面其余部分之后加载一段时间,更不用说禁用JavaScript的用户的兼容性问题了。
答案 1 :(得分:0)
我同意TheWolf,这也是我的建议。
[编辑:正如安东尼指出的那样,这将不允许单独缓存标题。] 您只需将html放入其自己的.php文件中,并在需要时使用以下内容将其包含在服务器端:
<?php include 'header.php'; ?>
“header”html将包含在页面的html中,并将由浏览器缓存(假设发送了正确的缓存头)。这是在php中包含条件内容的最常用方法。
想要单独缓存标头的原因是什么?如果您的应用程序正在生成标准网页,则通过Javascript单独加载标题将会变慢。任何带宽节省都可以忽略不计。
如果您决定使用Javascript动态加载内容,您可以采取以下措施来增强最终用户体验: