2011-12-19 11 views
5

にはiframe内で遊ぶ/表示されません。オーディオ要素は、私は、ユーザーがオーディオのビットをクリックして再生することができますHTML5、このスニペットを持っているFirefoxの

<audio controls> 
    <source src="cell.ogg"> 
    <source src="cell.mp3"> 
    <source src="cell.m4a"> 
</audio> 

これは、OS上でFF 8で正常に動作しますXライオン。オーディオプレーヤーのコントロールが表示され、プレイをクリックして、オッグバージョンが再生されます。

しかし、私が含んでいるファイルを別のHTML5ドキュメントのiframeの中に入れた場合(どちらもローカルファイルシステムから、クロスオリジンの問題なし)、動作しません。残りのHTMLはうまく表示されますが、Firefoxはまるでどのメディアフォーマットもサポートしていないかのように動作します。 FFは、それがどのようにレンダリングされるか

function postContentToIframe(content) 
{ 
    var iframe = $("#displayContents")[0].contentWindow.document; 
    iframe.open(); iframe.close(); // must open and close document object to start using it! 
    $("body", iframe).append(content).hide().fadeIn("slow"); 
    return; 
} 

がここにあります:

は、ここで私はインラインフレームにページを追加するために使用する機能です。

enter image description here

なぜ?そして私はそれをどのように修正するのですか? TIA。

+0

新しい情報:Apacheでファイルをホストしました(Chromeにはローカルファイルとのクロスオリジンの問題があります)。 Chrome 16でテスト済み。まったく同じ問題です!音声はiframeには表示されませんが、独自のページとしてレンダリングされたときに再生されます。奇妙な。 –

+0

セキュリティ関連の問題かどうか疑問に思います。コンソールにエラー報告がありますか? –

+0

私はコンソールに表示されるいくつかのロギングを行っていますが、FFやChromeではエラーはありません。 –

答えて

0

謎解き。これはディレクトリ/相対URLの問題でした。ベースHTMLファイル(iframe要素付き)は、追加されたHTMLファイル(iframeの内容)とオーディオファイルとは別のディレクトリにあります。したがって、オーディオファイルを見つけることができませんでした。

解決方法:すべてのファイルを1つのディレクトリに置くか、相対URLの代わりに絶対URLを使用する方がよいでしょう。

関連する問題