创建一个不会跨网页重新加载的DIV标记

我试图在我的页面顶部创建一个div,当用户浏览我的网站时,它不会重新加载。 div将包含一个MP3播放器,将在整个网站上不断播放。 我将如何编码以这种方式工作?

主站点运行joomla,我想避免使用Iframes,因为该站点需要保持搜索引擎友好。

使用iframe来保存您网站的正文。 让您网站的主要布局保持顶部div并为iframe设置div。 这样你的顶级div将是静态的。

使用ajax将内容加载到包含非静态内容的div中。

 
// Your default content here

编辑:

Ajax可以通过使用过时的hashbangs(#!)保持SOE友好,但是旧版浏览器和主要搜索引擎支持或者通过标准的pushState调用支持,但旧版浏览器(IE8等)不支持。 谷歌在这件事上有一篇很好的文章。

为此你有3种方式:

1-第一个解决方案是使用iframe,正如你所说,这不是你最喜欢的解决方案。

2-为你的浏览器创建一个插件,这不是一个好方法,因为你的最终用户将被迫安装它,但对你来说SEO关注这是最好的。

3-更改加载页面的方式并使用jQuery加载函数加载实际页面,为此必须创建一个包含jQuery的新html页面,在页面顶部创建包含数据的div元素,为你的网站页面加载创建另一个div,但这样你的问题就是处理joomla以确保所有joomla页面和这些页面中的所有链接和脚本都可以安全地以这种方式加载。 试试这个例子:

 jQuery('#question-header').load('http://stackoverflow.com/', function(){ //Your callback to-dos }) 

这将在本页面顶部的问题标题框中正确加载stackoverflow主页。

如果我是你,我肯定会使用iframe,因为我不得不采取更少的风险。