ネスケ4で外部JavaScriptを読みこむと問題が発生しやすいのか?

このQ&Aのポイント
  • ネスケ4でブラウザのウィンドウをリサイズすると、レイヤーが崩れるなどの問題が発生することがあります。
  • ネスケ4では外部JavaScriptを読み込むと問題が起きやすいとされています。
  • Netscape4では外部CSSを読み込むと問題が発生することがあります。
回答を見る
  • ベストアンサー

ネスケ4で外部JavaScriptを読みこむと問題が発生しやすいですか?

ネスケ4でブラウザのウィンドウをリサイズすると、layerが崩れるなどいろいろ問題がおこるため、 下記のような常套手段で、それを回避する例があるかと思います。。 <script type="text/javascript"> <!-- NS4 = document.layers; if (NS4) { origWidth = innerWidth; origHeight = innerHeight; } function reDo() { if (innerWidth != origWidth || innerHeight != origHeight) location.reload(); } if (NS4) onresize = reDo; //---> </script> そこで質問なのですが、 どうもいろんなサイトを見てみると、 いろいろ外部JavaScriptを読み込んでいるページでも、 この記述だけはhtmlにベタ書きしている例しか見あたりません。 NetScape4 で、外部JavaScriptを読みと問題が起きやすいのでしょうか? ========================================= ●Netscape4で外部CSSを読みこむと問題が発生しやすいことは、いくつかのページで知りました。 ●旧来の<script>タグのかきかたって、「<script language="Javascript">」ですが、  W3Cに準拠したモダンプラウザ(?)だと「<script type="text/javascript">」ですよね。  そのことは関係するでしょうか? ========================================= 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

外部ファイルの問題はたいていは文字コードがずれたりする系統じゃないかな IE4、ネスケ3以上は外部ファイルで問題ないはずです。 scriptタグのlanguage要素はHTML4.01で採用されなかったため、typeへ シフトしてますね。 なお、いまネスケ4に対応する意味があるかどうかは甚だ疑問です。 TOPページに、推奨環境をかいておけばよいのでは? 古いブラウザは、セキュリティ的にも問題がおおいことですし・・・

daisuke_dm
質問者

お礼

ありがとうございました。そうなのですね。 >なお、いまネスケ4に対応する意味があるかどうかは甚だ疑問です。 確かにビジネスサイトなら、意味ないかもしれないですね。 ただ、個人的趣味サイトで、個人的興味でNN4にも対応させようかなと思った次第です。 ありがとうございました。

関連するQ&A

  • 教えてください!レイヤーを描くとなぜかうまくいきません

     最近、以前買ったDreamweaverMX2004を使って趣味のホームページを作成しようとしているのですが、レイヤーを描くと、タイトルタグの後に、 <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> というタグが入ってしまって。F12でサイトのプレビューを見ると必ず、 「セキュリティ保護のため、コンピューターにアクセスできるアクティブコンテンツは表示されないよう、インターネットエクスプローラーで制限されています。~ここをクリックしてください」とブロックがかかってしまいます。 IEのセキュリテイ設定で表示しないようにできるかもしれませんが、なんでだろうと四苦八苦してましたら、上記が原因なのかあと。 テーブルではなくてレイヤーで作成してみたいのですが、レイヤーを描いてもこのJavaが記述されないような方法があるのでしょうか? どなたか設定方法や対策、ご存知ないでしょうか。 よろしくお願いします

  • レイヤーを使うときに妙なスクリプトが入る

    ホームページ作成ソフトでレイヤーを使うと、自動的に以下のようなスクリプトが追加されてしまいますが、いったいなんのためのスクリプトですか? ホームページ作成ソフトは、DreamWeaver4です。 <script language="JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> これが入らないと、ネットスケープの4.Xでレイヤーの中でスクリプトを実行するとエラーになってしまいます。

  • onResize を Win と Mac で動作させたい

    現在、JavaScriptを組み込んでHPを作成しています。 Win版IE6.0,NN7.1,Mac版NNでは動作の確認ができているのですが、 Mac版IE(すみません、バージョンが不明です)では動作せず頭を悩ませています。 もし原因がおわかりの方がいらっしゃいましたら、ご教示下さい。宜しくお願い致します。 JavaScriptで行いことは以下の二つです。 ・ページにアクセスした際に、画面の大きさを固定する。 ・画面(ブラウザ自体)の大きさが変更された際に、もとの大きさにリサイズする。 MacのIEのみ上記二つが動作しません。 HPの仕様は以下の通りです。 ・ Frameを使用し、上・中・下と3つに画面を分けています。このFrameは全てリサイズ禁止です。及びスクロールバーも表示しません。 ・ フレーム上の中でJavaScriptを使用しています。 ・ JavaScriptは外部ファイルで保持しています。 以下に、JavaScriptを記載いたします。 <外部ファイル> function winResize(width, height) { if ( navigator.appName == "Netscape" ) { window.parent.innerWidth = width; window.parent.innerHeight = height; } else { // IE var innerWidth = window.parent.document.body.clientWidth; var innerHeight = window.parent.document.body.clientHeight; // まず横 if( innerWidth == 760 ) { // 特に何もしない } else { var temp = 760 - innerWidth; window.parent.resizeBy( temp, 0 ); } // そして縦 if( innerHeight == 500 ) { // 特に何もしない } else { var temp = 500 - innerHeight; window.parent.resizeBy( 0, temp ); } } <フレーム上内の記述/ HEAD 内に記述> <script language="JavaScript"> <!-- function changeSize() { winResize(760,500); } window.onresize=changeSize; window.onload=changeSize; //--> </script>

  • Javascriptの質問です。

    Javascriptの質問です。 昨日からjavascriptを始めた初心者なのですが、すみませんが、以下のコードの不具合の訂正をお願いしたいのです。自分なりにあれこれやっては見ましたが、結論が見出せません。 昨日は、id="BOX" の部分を、windowをリサイズしたときに、縦横常に中央に表示させるといったものです。 問題点: (1)windowをリサイズたときに、動かない点 (2)DOCTYPE宣言すると、まったく機能しない。(DOCTYOE宣言とJAVASCRIPTの対応が理解できていないので。。とりあえず、DOCTYPE宣言無しでも機能すればいいかな?と思っております。IE8とfirefox3での表示を目指しています。) 恐れ入りますがよろしくお願いいたします。 ■HTML <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> <link href="css/test1.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> <!-- function changeStyle(y,x) { /*変数トレース*/ document.write("関数CALL\n"); document.write(y+"/"); document.write(x); /*CSSの書き換え(CSS)を書き換えると位置をへんこうできるものと思っています。*/ document.getElementById("box").style.marginTop = y; document.getElementById("box").style.marginLeft = x; } // --> </script> <script type="text/javascript"> <!-- function relocate() { window.focus(); /*firefoxのwindowサイズとboxの大きさによりマージンを計算*/ if( 0 != window.innerHeight && window.innerHeight > 960){ y=((window.innerHeight - 960)/2); }else{y=0;} /*IEのwindowサイズとboxの大きさによりマージンを計算*/ if( 0 != window.innerWidth && window.innerHeight >1100){ x=((window.innerWidth - 1100)/2); }else{x=0;} /**/ if( 0 != document.body.clientHeight && document.body.clientHeight > 960){ y=((document.body.clientHeight - 960)/2); }else{y=0;} if(0 != document.body.clientWidth && document.body.clientWidth > 1100){ x=((document.body.clientWidth - 1100)/2); }else{x=0;} /*CSSの変更*/ changeStyle(y,x); } //--> </script> </head> <body onResize="relocate()"> <!-- イベントハンドラセット(リサイズ時にCSS変更)こちらが問題のようです。 --> <div id="box">123456</div> <!-- 目的のボックス--> <script type="text/javascript"> <!-- /*オンロード時に1度CSSを変更する。もちらは動作します。*/ relocate(); // --> </script> </body> </html> ■CSS @charset "utf-8"; /* CSS Document */ *{ margin: 0px; padding: 0px; } #box { background-color: #FF3300; height: 960px; width: 1100px; border: 100px none #999999; margin-top:0px; margin-left:0px; } よろしくお願いします。

  • 外部javascriptファイルをjavascriptから動的に呼び出したい

    呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。 普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが <script type="text/javascript" src="js.php?key=url"></script> これでは「key=url」が固定になってしまいます。そこで下記のように <script> var commentname=document.URL; var str=encodeURIComponent(commentname); document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>'); </script> document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。 もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

  • ウイルス汚染について

    当方のHPをgoogleのディレクトリで見ると、「このサイトはコンピュータに損害を与える可能性があります。」と警告が書いてありますが、ヤフーのディレクトリではこのような表示はありません。HPのあるページに以下のようなスクリプトがいつのまにか追加されていますが、これはウイルスなのですか。どういう意味でしょうか: function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); また最近、ノートンのセキュリティをインストールしてからブラウザーやOEの立ち上がりがとても遅いのです。これはウイルスの仕業でしょうか。よろしく

  • javascriptを外部化するべきか

    短いjavascriptは外部化するべきでしょうか?それともそのままHTML内に書き込みますか? このぐらいの長さです。(画像をクリックしたら大きい画像が新しい窓で表示) <script type="text/javascript"> <!-- function imgwin(img){ window.open(""+img, "imgwindow", "width=870,height=585"); } //--> </script>

  • JavaScriptを外部ファイルにするとロールオーバーが機能しない

    ホームページビルダー11を使っているのですが、 JavaScriptを外部ファイルにして読み込ませると、ロールオーバー部分の画像のみ切り替わりません。 ////////////////////////////////////////////////// ■外部ファイルの記述内容■ <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_ROV_50 function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } HpbImgPreload('_HPB_ROLLOVER1', 'images/request.gif', 'images/request2.gif'); //--> </SCRIPT> ////////////////////////////////////////////////////// 外部ファイル読み込み時のhtmlタグ <SCRIPT type="text/javascript" scr="images/ファイル名"></SCRIPT> 恐らく、ホームページビルダーの独自性の問題だと思うのですが、 どうすればロールオーバーを機能させることができるでしょうか? 宜しくお願いいたします。

  • 外部JavaScriptの読み込み

    超初心者です。よろしくお願いします。 Macromedia Dream waverMX2004でホームページを作成しているのですが、見た目を良くしたくてスワップイメージやポップアップメニューなどを加えたところ、xxx.jsと自動的にファイルが作成され、 <script language="JavaScript" src="xxx.js"></script> と外部から読み込めるようになっていました。 しかし、<script language="JavaScript" type="text/JavaScript">○○○○○</script> という記述が残されているのですが、この○○○○○の部分を外部ファイルにすることは出来るのですか?(ソフトでの操作ではなく、Notepadなどで)

  • 外部JavaScriptでのdocument.writeについて

    今、JavaScriptを使ってHPを作ろうと思っています。 そこで、外部ファイルとしてJavaScriptを作り、HTML内でsrcを使って読み込んでいます。そのときに問題が発生しているのですが、外部ファイルでdocument.writeを使うと処理が戻ってきません。 例) .... xxxx="テストJavaScript"; document.write(xxxx); .... ちなみに、IEで実行した場合はきちんと表示し、NetScapeで実行した場合にずっと通信中になってしまいます。 これはNetScapeの仕様なのでしょうか。 分かりにくい説明で申し訳ありませんが、どなたかご回答お願い致します。

専門家に質問してみよう