我在我的网站上工作,我有一个音乐播放器。烦人的部分是,当我浏览到另一个页面时,播放器会停止并从头开始……我想要的是拥有一个持久的音乐播放器。那么,当浏览到另一个页面时,如何使包含音乐播放器的 div 成为静态的呢?网站:demo(dot)zdringhi-art(dot)com
谢谢!
我在我的网站上工作,我有一个音乐播放器。烦人的部分是,当我浏览到另一个页面时,播放器会停止并从头开始……我想要的是拥有一个持久的音乐播放器。那么,当浏览到另一个页面时,如何使包含音乐播放器的 div 成为静态的呢?网站:demo(dot)zdringhi-art(dot)com
谢谢!
WEB是无状态的。因此,如果您移动到另一个页面,则 div 无法保持不变。
虽然你能做的是……嗯如下。有一个页面并将您的 div 放在那里。然后页面的另一部分通过ajax加载。同样,当单击链接时,只会加载部分页面。似乎编码太多,但却是唯一可行的选择。例如,以 facebook
Gurav shah 是正确的,网络是无状态的,所以如果您要更改页面,您只有几个选择。
框架,是的,在任何人大喊之前,这就是它们的设计目的。您可以将音乐播放器放在一个 HTML 框架中,将页面的其余部分放在另一个框架中,这样当您四处移动时,您只会更新主要内容框架。
或者按照 gurav 的建议做,让你的整个网站变成一页,并用 Ajax 更新内容,所以音乐 Div 不会改变。
单击链接时,将播放器的当前位置传递到下一页。
<a href="#" onclick="window.location.href='{new page}?musicpositionseconds="+getsecond()+"'; return false">to another page</a>
其中 getseconds() 返回音乐播放器的当前位置并将其传递到下一页,然后在加载该页面时,您从 URL 中读取变量并从那里启动播放器。
使用框架是一种解决方案,但由于您在您的网站上使用 JQuery,您应该查看.load
( http://api.jquery.com/load/ )。它允许您加载另一个页面的内容并将其放在当前页面的某个位置。像这样的东西:
$(function () {
$("a").click(function (e) {
e.preventDefault(); // don't follow the link
$("#ja-container").load($(this).attr("href") + " #ja-container");
/* Load the new page using ajax request, take the content in #ja-container from that new page and put it in the current page's #ja-container */
});
});
这不是一个完整的解决方案:当有人单击 Concerts -> Agenda 时,您应该保持 Agenda 可见。
就个人而言,我宁愿看到一个页面,上面有播放音乐的人的 Youtube 视频,而不是强制的背景音乐。
嗯,是的,HTTP 是无状态的。您可以做的是创建一个 cookie,并使用玩家的当前位置/时间值不断更新它。这样,当您转到任何其他页面时,您可以从 cookie 中读取时间/位置。
否则,在少 cookie 的方法中,发送 AJAXed 位置/时间数据来回服务器客户端将是太多的网络。
如果我这样做,我会走饼干路。