代码之家  ›  专栏  ›  技术社区  ›  sproketboy

在iframe中放置从单个位置加载的通用菜单的任何方法

  •  0
  • sproketboy  · 技术社区  · 14 年前

    我的网站有一个普通的水平菜单,我想把它放到一个单一的HTML文件,所以我只需要在一个地方更改它。

    我的解决方案是将菜单放到一个iframe中,在主页面上有一个div id=menu。在menuframe html中,我有一个onload,其中包含:

        <script language="JavaScript">
        function doLoad() {
            window.parent.document.getElementById("menu").innerHTML = document.body.innerHTML;
        }
        </script>
    

    这在IE、Safary、Mozilla中很好用,但在Chrome中不行。

    有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Williham Totland    14 年前

    由于与可用性和浏览器支持相关的各种原因,更好的选择是 总是 不使用iframe;而是使用服务器端语言将菜单包含在页面的文本中,如 PHP 或类似的。

    如果您的主机不支持PHP,就像偶尔发生的情况一样,是时候切换主机服务了。

    至于代码本身,它非常简单:

    <?php include '/path/to/menu.html' ?>
    
        2
  •  1
  •   epascarello    14 年前

    iframe是一个坏的解决方案。

    你的服务器支持吗 serverside includes (SSI)

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