【发布时间】:2011-06-28 04:20:44
【问题描述】:
我正在开发一本在线音乐杂志。我们有一个 html5/flash 音乐播放器,它构成了网站的主要部分。但该网站也有很多文章和东西。所以基本上,我希望跨页面加载无缝音乐播放,但我也希望避免使用完整的 javascript 应用程序,因为我希望所有内容在 Google 中都是蜘蛛友好和可索引的。
我使用带有 hashbang (#!) 后备的 html5 历史 API 来在点击时加载主页内的各种内容。加载的 URL 也指向包含内容的页面。
例如: 我的索引页 munimkazia.com 中的 munimkazia.com/page1.html 链接将从 page1.html 加载内容并插入它。 URL 将在 firefox 和 IE 中更改为 munimkazia.com/#!/page1.html,在 chrome 中更改为 munimkazia.com/page1.html。 由于 href 链接是 munimkazia.com/page1.html,蜘蛛将跟随链接并获取内容。 我在 page1.html 中正确设置了页面,可以查看了。但是现在,我有问题。
如果我决定在此页面上使用 ajax 加载,浏览器位置栏上显示的 URL 将与 hashbang 回退不一致 (http://munimkazia.com/page1.html/#!/page2.html) 如果我决定将所有点击重定向到http://munimkazia.com 的主容器页面并加载 page2.html,此后一切正常,但此页面加载将中断之前的音乐播放(如果有)。
另外,我不想将所有 http://munimkazia.com/page1.html 重写为 http://munimkazia.com/#!/page1.html,因为我希望所有内容都存在,而不是由 javascript 获取和写入以供搜索引擎蜘蛛阅读。 我知道谷歌有一个规范来阅读 #! URL,但我希望页面加载用户的文章内容,即使 JS 被禁用
有什么想法/建议/解决方法吗?
编辑:这些网址只是解释我的观点的例子。 munimkazia.com 上没有用于获取页面的 javascript 代码
【问题讨论】:
标签: javascript html browser-history html5-audio background-music