【オンラインとローカルで同一コードのWebページで振る舞いに差異】

 
自PC内のWebページをWebサイトにアップロードしています。
フォルダ構成・コードともまったく同じで、パスは相対パスで記述しています。
 
Firefox の場合、下記のスクリプト(※)を実行すると、オンラインとローカルで振舞いが
異なります。
- Webサイトにアップロードしたhtmlファイルを実行するとBGMを繰り返し再生する.
- HDD内のhtmlファイルをブラウザ画面上へD&Dしてローカルに実行すると、音声がまっ
  たく出ない.
なお、ローカル実行時にもインターネットは接続状態を維持しています。
 
⇒ローカルでもBGMを繰り返し再生させる方法を教えてください。
 
(※)
<SCRIPT language="JavaScript">
document.writeln("<embed type=application/x-mplayer2 pluginspage=http://www.microsoft.com/Windows/MediaPlayer/ Name=MediaPlayer src=SomeMusic.mid AutoStart=True ShowStatusBar=0 HEIGHT=1 WIDTH=1 playcount=0></embed>");
</SCRIPT>
 
前記の通り、インターネットは接続した状態ですから
pluginspage=・・・
は有効なはず.
 
Windows XP3/Firefoxのバージョン19.0
 
なお、この質問は先の質問 http://q.hatena.ne.jp/1362328969
の回答NO.1の回答内コメント欄の2番目のコメントから派生しました。
 

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/03/19 21:12:07
  • 終了:2013/03/21 00:39:21
id:mkonomi

オンラインの場合でも、完全ではありません。
 
起動直後の Firefox から注目のオンラインWebページのURLにアクセスする場合は
問題ないのですが、既にいくつかのタブが存在する場合、新しいタブのアドレス枠に
注目のオンラインWebページのURLをいれて、Enterを押しても、音声がでません。
ただし、画像やテキストは正常に表示されてます。
そこで、いったん他のタブへ移ると元のタブの音声が出始め、元のタブに戻っても継
続して音声が出続けるのですが、F5キーでリフレッシュするとまた音声が出なくな
ります。その後、他のタブへ移ると再び元のタブの音声が出ます。
------
【補足1】
質問文中の"htmlファイル"の中に(※)のスクリプトが含まれています。
 
------
【補足2】
Firefox のバージョン19.0.2
Firefox のWMPプラグインのバージョン1を調べると 3.0.2.629 です。
f:id:mkonomi:20130320154400j:image
 

ベストアンサー

id:meefla No.1

meefla回答回数984ベストアンサー獲得回数4602013/03/20 15:46:51

ポイント100pt

諸悪の根源は Firefox における Windows Media Player プラグインにあるような気がします。
(rouge_2008 さんのコメント
http://q.hatena.ne.jp/1362369100#c256066
にある、プラグインのアップデートは行われましたか?)

いずれにせよ、個人的な経験からしても、midi を鳴らすには WMP よりも QuickTime の方が Firefox とは相性が良いと思います。
次のコードをお試し下さい。

if ((navigator.userAgent.indexOf("Firefox")!=-1) && navigator.appVersion.indexOf("Win") > 0)
{
  var haveqt = false;
  for (i=0; i < navigator.plugins.length; i++ ) {
    if (navigator.plugins[i].name.indexOf("QuickTime") >= 0)  haveqt = true;
  }
  if (haveqt==true) {
    document.writeln("<embed type=audio/midi src=SomeMusic.mid AutoStart=true loop=true HEIGHT=1 WIDTH=1></embed>");
  }
  else {
    document.writeln("<embed type=application/x-mplayer2 pluginspage=http://www.microsoft.com/Windows/MediaPlayer/ Name=MediaPlayer src=SomeMusic.mid AutoStart=True ShowStatusBar=0 HEIGHT=1 WIDTH=1 playcount=0></embed>");
  }
}
else if ((navigator.userAgent.indexOf("MSIE"))!=-1)
  document.writeln("<BGSOUND SRC=SomeMusic.mid LOOP=INFINITE VOLUME=-500>");
else
  document.write( '<embed src = "SomeMusic.mid" autostart="true" HEIGHT=1 WIDTH=1 loop="true" ></embed>' );

Windows の Firefox において、QuickTime プラグインが有効になっていれば QuickTime で演奏し、QuickTime がなくて WMP プラグインがインストールされていれば WMP で演奏する筈です。

お役に立てることを祈りつつ。

他2件のコメントを見る
id:meefla

お役に立てたようで何よりです。

> やはり、WindowsMediaPlayerプラグインのアップデートは必要ということですか?

すでに古いのが入ってますので必須ではないですが、やらないよりはアップデートした方が良いでしょう。
Windows Media Player プラグイン利用ガイド でも推奨されてますし。
なお、このページにある「プラグインをテストする」のテストページはリンク切れになっているようです。
How to Embed Windows Media Files などでテストして下さい。

2013/03/21 00:04:51
id:mkonomi

有用なコメントをありがとうございました。

2013/03/21 00:38:59

その他の回答(0件)

id:mkonomi

質問文を編集しました。詳細はこちら

id:meefla No.1

meefla回答回数984ベストアンサー獲得回数4602013/03/20 15:46:51ここでベストアンサー

ポイント100pt

諸悪の根源は Firefox における Windows Media Player プラグインにあるような気がします。
(rouge_2008 さんのコメント
http://q.hatena.ne.jp/1362369100#c256066
にある、プラグインのアップデートは行われましたか?)

いずれにせよ、個人的な経験からしても、midi を鳴らすには WMP よりも QuickTime の方が Firefox とは相性が良いと思います。
次のコードをお試し下さい。

if ((navigator.userAgent.indexOf("Firefox")!=-1) && navigator.appVersion.indexOf("Win") > 0)
{
  var haveqt = false;
  for (i=0; i < navigator.plugins.length; i++ ) {
    if (navigator.plugins[i].name.indexOf("QuickTime") >= 0)  haveqt = true;
  }
  if (haveqt==true) {
    document.writeln("<embed type=audio/midi src=SomeMusic.mid AutoStart=true loop=true HEIGHT=1 WIDTH=1></embed>");
  }
  else {
    document.writeln("<embed type=application/x-mplayer2 pluginspage=http://www.microsoft.com/Windows/MediaPlayer/ Name=MediaPlayer src=SomeMusic.mid AutoStart=True ShowStatusBar=0 HEIGHT=1 WIDTH=1 playcount=0></embed>");
  }
}
else if ((navigator.userAgent.indexOf("MSIE"))!=-1)
  document.writeln("<BGSOUND SRC=SomeMusic.mid LOOP=INFINITE VOLUME=-500>");
else
  document.write( '<embed src = "SomeMusic.mid" autostart="true" HEIGHT=1 WIDTH=1 loop="true" ></embed>' );

Windows の Firefox において、QuickTime プラグインが有効になっていれば QuickTime で演奏し、QuickTime がなくて WMP プラグインがインストールされていれば WMP で演奏する筈です。

お役に立てることを祈りつつ。

他2件のコメントを見る
id:meefla

お役に立てたようで何よりです。

> やはり、WindowsMediaPlayerプラグインのアップデートは必要ということですか?

すでに古いのが入ってますので必須ではないですが、やらないよりはアップデートした方が良いでしょう。
Windows Media Player プラグイン利用ガイド でも推奨されてますし。
なお、このページにある「プラグインをテストする」のテストページはリンク切れになっているようです。
How to Embed Windows Media Files などでテストして下さい。

2013/03/21 00:04:51
id:mkonomi

有用なコメントをありがとうございました。

2013/03/21 00:38:59
id:mkonomi

"QuickTime"プラグインは
QuickTime Plug-in 7.6.9 7.6.9.0
f:id:mkonomi:20130320204136j:image

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません