1

問題を引き起こすブラウザ: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 Opera/9.80 (Windows NT 6.1; U; en) Presto/2.2。 15版/10.10

クライアント マシン: Windows 7 Ultimate 64 ビット、4 GB RAM、250 GB HD、2.3 GHz。

テスト Web サイト: http://www.microwavecontrolledfusion.us

任意のブラウザー (つまり、IE、FF、Opera、Safari、Chrome、Macintosh) の下で自宅のコンピューター (ローカル アクセス) に直接配置されている場合、Web サイト ファイルを読み込むのに問題はありません。MP4 ファイルは、すべてのブラウザー (IE、FF、Opera、Safari、Chrome、Mac Safari) で正常に再生されます。Web 経由でアクセスする場合、開いているタブが Web サイトのみの場合、Firefox と Opera のみが読み込みで停止します。別のタブが開いている場合、このストールは発生せず、ページが読み込まれて正常に動作します。IE、Chrome、Safari、および Macintosh はすべて問題なくロードされ、うまく機能します。

外部のmovie.jsファイルにあるjavascript関数GenerateWMPを呼び出すことによるHTMLインターフェース。このファイルの内容は次のとおりです。

//-----------------------------------------------------------
// Writes the correct PromoClip object depending upon browser:
//-----------------------------------------------------------
function GenerateWMP()
{
  if (IsMac || Safari)
  {
    if (IsMac)
    {
      document.write('<OBJECT id="PromoClip" style="width:320px;height:256px;z-index: 1" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0">');
    }
    else
    {
      document.write('<OBJECT id="PromoClip" style="width:320px;height:256px;" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0">');
    }
    document.write('  <PARAM name="src"      value="docs/Low Density Pre-Experimental Promo.mp4">');
    document.write('  <PARAM name="autoplay" value="false">');
    document.write('  <EMBED src="docs/Low Density Pre-Experimental Promo.mp4" width="320" height="256" pluginspage="http://www.apple.com/quicktime/download/" id="Promo" name="Promo" autoplay="false" bgcolor="black"></');
  }
  else
  {
    document.write('<OBJECT id="PromoClip" style="width:320px; height:304px;" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/ mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">');
    document.write('  <PARAM name="fileName"           value="docs/Low Density Pre-Experimental Promo.mp4">');
    document.write('  <PARAM name="animationatStart"   value="true">');
    document.write('  <PARAM name="transparentatStart" value="false">');
    document.write('  <PARAM name="autoStart"          value="false">');
    document.write('  <PARAM name="showControls"       value="true">');
    document.write('  <PARAM name="showStatusBar"      value="true">');
    document.write('  <PARAM name="loop"               value="false">');
    document.write('  <EMBED type="application/x-mplayer2" pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" id="Promo" name="Promo" displaysize="4" autosize="-1" showcontrols="true" showtracker="-1" showdisplay="0" showstatusbar="true" videoborder3d="-1" width="320" height="304" src="docs/Low Density Pre-Experimental Promo.mp4" autostart="false" designtimesp="5311" loop="false"></');
  }
  document.write('EMBED>');
  document.write('</');
  document.write('OBJECT>');
}

この関数を呼び出すテーブル列からの HTML は次のとおりです。

<TD class="mid" id="d0_c" style="width:320px;height:304px;vertical- align:top;cursor:pointer;background:url('img/clear.png') center top no-repeat" onClick="if (running==0) {MovieStart();}"><DIV id="Movie"><SCRIPT type="text/javascript" language="JavaScript1.1">GenerateWMP();document.close();</SCRIPT></DIV></TD>  

私はすでに Quicktime Player を試しましたが、同じ問題を発見しました。これは、別のタブが既に開いている場合にのみ正しく読み込まれます。したがって、これはブラウザのバグに違いないと思います。ストールの原因を知りたいのですが、可能であれば Firefox と Opera でこれを修正したいと思います。これが既知のバグであることを確認するためだけであっても、明確化していただければ幸いです。

4

2 に答える 2

3

おそらく問題は、WMP プラグインが MP4 ファイルを再生することを期待していることです。Windows 7 より前に存在するデフォルトのコーデックでは、どのブラウザーでもそうではありません。

おそらく問題は、他のブラウザーで期待されるメディア プレーヤー プラグインを取得していないことです。WMP、QT、および Real はすべて「application/x-mplayer2」埋め込みを再生しようとする可能性があり、どれが勝つかは構成と運の問題です。実際の QT や古い QT は MP4 も再生できません。そして、すべてのプラグインはあなたを嫌っているため、ランダムに失敗します。

おそらく問題は無効な URL です (スペースは %20 としてエンコードする必要があります)。

あるいは、単にメディア プレーヤー プラグインを埋め込んでいることが問題なのかもしれません。これは確実に機能したことはありません。一度もない。もうほとんど誰も試していません。全損です。世界は圧倒的にFlash ビデオに移行しており、HTML5<video>が間近に迫っていますが、まだ主流にはなっていません。あなた自身の好意を持って、彼らに参加してください。

于 2009-12-02T22:53:19.827 に答える
1

この問題は、長いムービーの「プリロード」が原因であり、Firefox および Opera ブラウザで WMP ビデオをロードするときに発生します。プレイリスト (mpu) ファイルを使用して WMP プレーヤーに 2 つのムービーを強制的に再生させることで、この問題を解決しました。最初のビデオは非常に短い (1 フレーム) ため、読み込みにそれほど時間はかかりません。これは短い 1 フレームのプリロードです。次に、訪問者が映画の画像を押すと、最初の映画が非常に速く再生され、次の映画はそれまでロードされません。このようにして、ページはすばやく読み込まれ、正しく動作します。プリロードはプレイリストの最初の単一フレーム ムービーのみをロードするため、長いムービーによって最初のページの読み込みが遅延することはなくなりました。

この問題は解決されました。

于 2009-12-11T23:08:20.033 に答える