如何创建即使在导航到其他页面时仍保留的静态标头(lala.com)

时间:2010-03-25 14:49:29

标签: html css

我对lala.com的工作方式很感兴趣。它们的标题仍然固定在浏览器的顶部,并且里面有一个flash音乐播放器。

您可以点击网站上的其他链接,它们会显示在标题下方,但标题不会中断,可以继续播放音乐。

如果目标是现代浏览器,则说IE8& FF 3.6,实现这一目标的最佳方法是什么?

感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

框架/ iframe

实现此目的的一种方法是创建frameset或使用iframes来显示子页面。顶部(或底部)框架将是一个非常小的框架,并包含您的音乐播放器。大框架将包含正在浏览的页面。例如,使用这种技术。谷歌点击image search result

此方法有其缺点:用户将在地址栏中看到您的URL,而不是正在浏览的页面。如果用户在地址栏中输入内容,他们将离开您的框架集。例如,这是不可能的。写下当前页面的URL。

<强>的Ajax

第二种更好的方法是构建一个导航,通过AJAX将其他页面加载到当前页面。查看示例实现here。 这将提供顺畅的加载,音乐将继续播放。如果做得好,甚至可以保留一个不会破坏外部引用的健康链接结构,并使“后退”按钮起作用。我链接的教程涵盖了两个方面。请注意,这是一个由3部分组成的教程。 它只适用于JavaScript,但是有些解决方案可以优雅地降级(回到关闭JavaScript时切换页面的“正常”行为)。

答案 1 :(得分:3)

除了框架,您还可以使用ajax进行部分页面刷新。您可以进行部分页面刷新,而不是在每个操作上完全加载新页面。您可以通过仔细编码保留bookmarking and the back button functionality。诸如jQuery(以及许多其他)之类的库使得在不同浏览器中使用ajax显着简单。 编辑快速搜索在jQuery的后退按钮插件上显示Stack Overflow问题。因此,如果您使用jQuery,您可以更轻松地使用此方法。

这是一些存根代码:

HTML

<html>
<head>
<!-- ... -->
</head>
<body>
<div id="music-header">
<!-- ...Music header content goes here -->
</div>
<div id="content">
<!-- ...Body of different pages goes here -->
</div>
</body>
</html>

我在提供的关于如何处理书签和后退按钮的链接中提供了Javascript。

答案 2 :(得分:0)

此特定示例lala.com使用iframes完成。