【问题标题】:keep flash music player across page refresh/change保持 Flash 音乐播放器跨页面刷新/更改
【发布时间】:2009-07-27 09:21:11
【问题描述】:

我正在尝试在我的页面上安装一个基于 Flash 的音乐播放器,即使您刷新或转到网站内的另一个页面,它也会继续播放歌曲。

我想像 facebook 页脚那样做这个

我读过这个话题 How does Facebook keep the header and footer fixed while loading a different page?

但我有 loadpage() 和 location.hash 问题

如果有人知道它是如何制作的请告诉我

【问题讨论】:

  • 您遇到了什么“loadpage() 和 location.hash 问题”?你到底做了什么,你预计会发生什么以及到底发生了什么?

标签: javascript ajax page-lifecycle


【解决方案1】:
var header = document.getElementById('header');
var headerLinks = header.getElementsByTagName('a');
for(var i = 0, l = headerLinks.length; i < l; i++) 
{ 
 headerLinks[i].onclick = function() {    
var href = this.href;   
 //Load the AJAX page (this is a whole other topic)    
loadPage(href);      
//Update the address bar to make it look like you were redirected   
 location.hash = '#' + href;    
//Unfocus the link to make it look like you were redirected    
this.blur();   
 //Prevent the natural HTTP redirect    
return false;  

}}

CSS:

#Footer  {  
font-size:xx-small;   
text-align:left;   
width:100%;   
bottom:0px;   
position:fixed;   
left:0px;   
background-color: #CCCCCC;   
border-top: 1px solid #999999;   
padding:4px;   
padding-right:20px;   
color:#666666; 
}

我已经这样做了 此代码无效,我不想刷新音乐播放器的区域,如谷歌视频或 facebook 任务栏

我已经这样做了

function links() {
    //var header = document.getElementById("header");
    var headerLinks = document.getElementsByTagName("a");
    for (var i = 0, l = headerLinks.length; i < l; i++) {
        headerLinks[i].onclick = function() {
            var href = this.href;
            loadPage(href);
            window.location.hash = "#" + href;
            this.blur();
           return false;
        }
    }
}

window.onload = function() {
    links();
}

我想修改所有链接,但它不起作用

【讨论】:

  • 更多细节,请!它没有工作是什么意思?发生了什么?你收到错误信息了吗?你的浏览器崩溃了吗?什么都没发生吗?
【解决方案2】:

看来您对 javascript 还是很陌生。如果是这样的话,那么做一个完整的 ajax 站点可能不是开始的地方。我认为您应该尝试老派并使用框架来完成此操作。 (这就是 Google 视频过去的运作方式,而 Google 图片仍然使用这种技术。)

<html>
    <frameset rows="200px,*,200px">
        <frame src="yourPageHeaderWithFlashPlayer.html" noresize="noresize"/>
        <frame src="yourMainContent.html" noresize="noresize"/>
        <frame src="yourPageFooter.html" noresize="noresize"/>
    </frameset>
</html>

这适用于 200 像素的页眉和 200 像素的页脚。如果您需要更多信息:http://www.w3schools.com/tags/tag_frameset.asp

【讨论】:

  • 我知道,但我想用 javascript 来做
  • Prestaul 是正确的——您尝试做的事情非常先进,需要对该语言有深入的了解。如果您对 Javascript 不是非常熟悉,请谨慎操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多