gpt4 book ai didi

html - 在网站中包含菜单的良好做法?

转载 作者:太空狗 更新时间:2023-10-29 15:51:56 27 4
gpt4 key购买 nike

我对网站 build 还很陌生。然而,确实有一些 LaTeX 和其他一些编程语言的经验。

我真的尝试重用代码等。因此,在构建我的网站时,我想“包括”例如其他页面中的菜单,而不是明确地复制粘贴它。

我知道有几种方法可以做到这一点:

  • 菜单是静态页面,您的内容位于 iframe 中。这是最糟糕的方法,因为它破坏了很多东西,例如后退/前进等......(我知道这对某些人来说可能是希望的,但对我来说不是)。
  • 这就是我现在使用的:每个网页都包含使用 iframe 的菜单:

    <iframe src="menu.html" class="menu" height="100%" frameborder="0"></iframe>

    此方法的缺点是:当人们重新访问您的网站时,菜单不会正确重新加载,除非您使用一些专门告诉浏览器执行此操作的脚本:

    document.getElementById('some_frame_id').contentWindow.location.reload();
  • 这是我的想法,因为我的新主机允许这样做:包括使用 SSI 的菜单。

    < !--#include virtual="/menu.html"-->

    可能的缺点是每个网页都必须允许包含,因此必须进行解析(这会减慢文件系统的速度)。安全对我来说不是问题。

你会推荐什么?是否有关于应该做什么的礼貌规则?上述任何方法是否存在兼容性问题?有没有更好的方法?

例如:我怀疑第二种方法(我现在正在使用)破坏了谷歌索引,所以只有我的主页被编入索引。 (虽然我不确定这是不是真的)。​​

最佳答案

做到这一点的方法是使用服务器端包含之类的东西。其他 Web 开发人员可能正在使用 PHP 或 Python 或某些模板系统,但最终的设计模式是 HTML 输出是重复的,但模板系统中的 HTML 不是。

您对 SSI 减慢渲染速度的担忧是没有根据的。 SSI 非常快,Web 服务器将采用与呈现一页相同的优化;它可以将其缓存在内存中并即时处理。

考虑到您只是想避免重复的 HTML,SSI 听起来是个不错的选择,尤其是当您已经让它运行良好时。它的缺点是缺乏高级编程功能。但是速度基本上从来不是 SSI 的问题;它是最快的解决方案之一。它也不影响谷歌索引; Google 只能看到输出的 HTML,看不到 SSI。 SSI 是服务器端的。

关于html - 在网站中包含菜单的良好做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8992886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com