【オンラインとローカルで同一コードの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回まで
  • 登録:
  • 終了:2013/03/21 00:39:21
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
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

回答回数997ベストアンサー獲得回数472

ポイント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

回答回数997ベストアンサー獲得回数472ここでベストアンサー

ポイント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]

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

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

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

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

回答リクエストを送信したユーザーはいません