2011-07-23 30 views
6

有沒有好的文章,或者iframe或frame如何與每個頁面異步工作?我有一個包裝在jquery中的底部/固定div,以便在包含MP3播放器的懸停上滑動。我用一個iframe引用了玩家。我渲染得很好,但是如何在頁面刷新或導航到其他頁面的情況下繼續播放?我希望它被固定在每個頁面的底部並連續播放而不刷新。我試着把每個頁面的iframe,但仍然沒有工作。有任何想法嗎?謝謝。有<iframe>異步工作

+5

從你的問題的聲音,我不認爲你明白什麼「異步」的意思 – zzzzBov

+0

???我想我很清楚。 – Graham

回答

2

如果必須留在瀏覽器中(不是下載的應用程序或在音樂/視頻播放器讀取數據流),唯一的辦法應該是真的不改變頁面,並加載必須隨Ajax或JavaScript更改的內容(或在(i)框架中將其自身)。

但是,這將是一個更容易做一個網頁,只有講師,並把你的網站上的鏈接在另一個選項卡中打開它:

<a href="/music-player.htm" target="musicPlayer">Text or what you want</a> 

編輯:

因此,與JavaScript這將是相同的結果比阿賈克斯,但這意味着不改變頁面,所以對於搜索引擎優化,如果它有點重要它不好。

我的意思是說,如果你點擊鏈接「家」只是動態添加<script type="text/javascript" src="/homepage.js"></script>這個頁面的內容(同時保持MP3播放器)。

Otherway,也許有,如果有可能的播放器由JavaScript知道一個cookie:

  • 在知道至極MP3文件的播放器是
  • 在至極的時間在播放MP3的播放器是
  • 走在指定的MP3文件
  • 在指定的時間去在MP3
  • (如果有可能暫停的球員,應該是知道的能力,如果玩家玩或不)

這是可能的,當改變頁面以獲得最佳時間(但將有時間加載頁面和MP3播放器沒有音樂)。

或者可以有一個MP3播放器,可以節省我們的時間,並在這個時候開始在另一個頁面上(但仍然在改變頁面幾秒鐘沒有聲音)。

使用這些方法也會出現打開多個頁面的問題。

編輯:

我試過的方式在iframe中頁面的內容,它的工作原理相當不錯,但需要membre在MP3模式下進行切換。

這裏是mp3.html(把根文件夾,如果它不可能會需要一些變化):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>MP3 Player</title> 
    <style type="text/css"> 
     html { 
     font-size: 100%; 
     } 
     body { 
      margin: 0; 
      padding: 0em; 
     } 
     #frame { width: 100%; height: 100%; border: none; } 
     #player { position: absolute; right: 20px; bottom: 20px; } 
    </style> 
    <script type="text/javascript"> 
     if ("onhashchange" in window) { 
      var h=''; 
      var command= false; 
     window.onhashchange = function(){ 
       if(location.hash==h) return; 
       command= true; 
       window.frames['frame'].location.replace(location.hash.replace(/^#/,"")); 
       h= window.location.hash; 
      } 
     } 
    </script> 
</head> 
<body> 
    <iframe id="frame" onLoad="if(this.src=='')return;if(command)command=!1;else window.location.replace(h='#'+window.frames['frame'].location.href.replace(new RegExp('^'+document.location.origin),''));document.title=window.frames['frame'].document.title;"></iframe> 
    <script type="text/javascript"> 
     document.getElementById("frame").src=document.location.hash.replace(/^#/,""); 
    </script> 
    <div id="player"> 
     <object type="application/x-shockwave-flash" data="http://s301826463.onlinehome.fr/so/dewplayer.swf?mp3=http://s301826463.onlinehome.fr/so/Tokyo.mp3" width="200" height="20" id="dewplayer"><param name="wmode" value="transparent"><param name="movie" value="http://s301826463.onlinehome.fr/so/dewplayer.swf?mp3=http://s301826463.onlinehome.fr/so/Tokyo.mp3"></object> 
     <a href="javascript:document.location.href=document.location.hash.replace(/^#/,'')">remove mp3 player</a> 
    </div> 
</body> 
</html> 

而且把那個iframe中,並且與打開當前網頁的鏈接MP3播放器,它只需要一個鏈接:

<a href="javascript:parent.location.href='/mp3.html#'+document.location.href.replace(new RegExp('^'+document.location.origin),'')">add mp3 player</a> 

使用該示例here

+0

我怎麼用javascript做到這一點?你能指點我一篇好文章,或者我特別傾向於javascript的哪個方面?謝謝。 – Graham

1

您可以在瀏覽器窗口外部使用獨立的Flash/Java/Unity等播放器。
或者,您使用框架,兩個框架,一個主要網站頁面出現的位置以及一個播放器所在的位置。
其他方法是使用異步調用(Ajax)在您的站點中進行整個導航(您希望播放器連續)。

谷歌順便說一句I幀使用/幀

+0

將嵌入在幀/ iframe中的唯一方面將是MP3播放器;看到SEO會有些重要。所以,問題更多的是我使用註冊表的事實。 MP3播放器,而不是一個Flash播放器?如果我在iframe中引用Flash Player,它會起作用嗎?另外,我應該使用「框架」還是「Iframe」爲一個div?好,謝謝!有點轟炸你的問題在那裏。 – Graham