はじめまして。ブラウザ判定でIEの場合フラッシュ、それ以外のブラウザは静止画像を表示するという処理を行いたいと思います。
それに加えてフラッシュを.jsファイルで外部呼出しを行いたいのですが上手くいきません。(コントロールをアクティブ~のメッセージを出さない為)
すみませんが、アドバイスの方をよろしくお願いいたします。
以下ソースです。(文字制限があるので一部省略してます)
<SCRIPT language="JavaScript">
<!--
//(IEブラウザ)
if (navigator.userAgent.match(/MSIE (\d\.\d+); Windows/)) {
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia~#version=6,0,0,0" width="481" height="150">');
document.write('<param name="WMODE" value="Transparent" />');
document.write('<PARAM name="MOVIE" value="top/top.swf">');
document.write('<EMBED src="top/top.swf" width="481" height="150" type="application/x-shockwave-flash">');
document.write('</embed>');
document.write('</object>');}
//(NNブラウザ)
else{
document.write("<IMG SRC='top/nntop.gif' WIDTH='481' HEIGHT='150' BORDER='0'>");}
//-->
</SCRIPT>
以上のものをまとめたいのですが、IE以外のブラウザ判定の時におかしくなってしまいます。else以降の文章がhtmlとして表示されてしまいます。↓(NNで確認)
<SCRIPT language="JavaScript">
<!--
if (navigator.userAgent.match(/MSIE (\d\.\d+); Windows/)) {
document.write('<script src="top/top.js"></script>');
}
else{document.write("<IMG SRC='top/nntop.gif' WIDTH='481' HEIGHT='150' BORDER='0'>");}
//-->
</SCRIPT>
お手数ですがご助力願います。
No.2ベストアンサー
- 回答日時:
document.write('<script src="top\/top.js"><\/script>');
これで良いと思います。
ご解答ありがとうございます。
うまく処理をすることができました!
\が必要だったんですね。大変助かりました。ありがとうございました。
No.1
- 回答日時:
まず、document.write('<script src="top/top.js"></script>');
という処理にはかなり無理があると思われます。
とりあえず上のブラウザ判定も含めた処理を纏めて外部ファイル化し、HTML内では外部呼出し一本で済ませるのが良いのではないかと思われます。
で、NNでの動作不具合ですが、私の環境(Window2000+NN7.1)では再現しませんでした。
可能性として考えられるのは、
| document.write('</object>');}
| //(NNブラウザ)
| else{
この部分ですね。
お使いのNNのバージョンに、なにか不具合があって、 } と else の間にコメントを入れると、以降が処理されないのかもしれません。
試しに
document.write('</object>');
} else {
//(NNブラウザ)
という書式に代えてみてください。
それでもダメであれば、コメントを全て削除してみれば、もしかすると、直るかもしれません。
ご解答ありがとうございます。
document.write('<script src="top/top.js"></script>');
これは自分で作っていてもかなり無理のあるソースだとは思ったのですが…とりあえずIEでは上手くいったのでこれでやってみました。
>ブラウザ判定も含めた処理を纏めて外部ファイル化し、HTML内では外部呼出し一本で済ませる
これがソースとしてもすっきりしていて理想的なのですが、上手くいかなかったので。もうちょっと頑張ってみます。ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
○歳△ヶ月と×日を計算してくれる...
-
前のページに戻るとページトッ...
-
なぜ、ジャバスクリプトが表示...
-
フォームの確認画面がうまく表...
-
JAVAで時刻に対して簡単な四則...
-
ブラウザ判定による画像表示とj...
-
時間によって違う文章を出したい
-
ネスケでdocument.write
-
パソコンによって表示が違います。
-
テキストフォームの内容をペー...
-
複数ブラウザ対応のお気に入り...
-
面白い!便利!と思った【JavaS...
-
JavaScript を使ってpkゲームを...
-
同じIDで定義した要素の配列を...
-
イベントが初めの一回しか起き...
-
ASP.NETのコントロールの値をJa...
-
jspからjavascriptの変数引継ぎ
-
C#テキストボックスの文字を配...
-
なぜmatchメソッドがエラーにな...
-
関数でy=g(x)のgとは何の略です...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
○歳△ヶ月と×日を計算してくれる...
-
JavaScriptとHTMLの課題です
-
ホームページに日付を自動更新...
-
なぜ、ジャバスクリプトが表示...
-
配列を使って平均を求めるプロ...
-
引数を渡さずに呼び出し元の変...
-
for文のiを使ってリンク先のア...
-
javascriptとphpの連携で疑問
-
document.write()の()内にタグ...
-
document.writeで画面が消える
-
JAVAで時刻に対して簡単な四則...
-
現在の日付から、1ヶ月前にす...
-
カレンダーをプログラミング
-
初歩的なことなんですけど
-
document.write内のタグ
-
今日の月と日付の1週間後や3日...
-
Javascriptのfunction文がわか...
-
来年の今日の曜日・・・?
-
Java Scriptのメソッドについて
おすすめ情報