スプリクトを外部ファイルから読み込ませる件で質問です。例えば、indexとsub1の2ページから成る、HPのフォルダとしまして、indexを、メインの動かしたいページ、sub1を、スクリプトを、保管する為だけのページとします、このとき、下記のタグは、どちらのページに記述するのでしょうか?あと、ファイル名とありますが、これには、どちらのファイル名を記述するのでしょうか?
<script language="JavaScript" src="ファイル名.js"></script>
もし、SUB1であれば、単純に、
<script language="JavaScript" src="SUB1.js"></script>
という風に記述すればいいのでしょうか?
あと、ファイルのタグを、.js にする必要があるということですが、これも、どちらのファイルの方を、変更すればいいのでしょうか?たとえば、sub1.htm を sub1.js という風に単純に変更すればいいのでしょうか?
あと、そもそも、今回お聞きした理由に一つに、スプリクトを、1ページ内にたくさん記述しすぎたのか、開く途中で、停止してしまうのです、ただ、遅いだけならいいのですが、停止したので、これの解決策として、今回お聞きしている、スプリクトを外部ファイルから読み込ませる、という行為が効力があるのかということもあわせてお聞きしたいのです。(依然の質問と、ダブルことをお許しください。)
No.3ベストアンサー
- 回答日時:
基本的に、スクリプトの量が多いために動作が停止するということはあまり考えられないと思います。
もしスクリプトの処理が多すぎて動作が停止するとしたら、ブラウザが落ちる可能性が高いのではないでしょうか。スクリプトの量については、外部スクリプトに切り分けたとしても大差ないでしょう。 スクリプトが処理される限りは、すべてのスクリプトが読み出されますし、そうなればどのファイルにスクリプトが記述されていても同じ事と思います。
また、スクリプトの内容として、スクロールをさせるスクリプトがあるようですが、これはページロードが終了してからでないと動作しないと思います。 このスクリプトを動かすのに、< body onLoad="***">のような記述を使っていませんか? だとしたら、すべてのスクリプトは、その量にかかわらずすべて読み出されてから動作を始めているはずですので、そこに含まれるスクリプトの量が、動作に影響を及ぼすということはないと思いますよ。
スクリプトの動作が停止してしまうのは、他のスクリプトの動作が干渉しているせいではないでしょうか。 一定時間ごとに処理を繰り返すスクリプトを複数、独立して起動させるようなケースでは、それぞれのスクリプトの動作ごとに経過時間の管理や処理を別々に行うので、処理が重くなることがあると思います。
あるいは、関数ごとに使っている変数が重複していたりすると、思いもよらないような動作をすることがあります。
また、条件分岐の条件設定などが間違っていたりすることはないでしょうか。
いずれにしても、スクリプトそのものを見直してやらないと、動作が停止してしまう問題点は解消できないと思います。 外部スクリプトファイルに置き換えても、処理内容も動作も変化はないのではないでしょうか。
できれば、スクリプトの内容を提示していただいたほうが、解決が早いと思いますよ。
参考になれば幸いです。
No.1
- 回答日時:
おはようございます。
index.htm→メインページ
sub1.htm→JSを記述してあるページ
にしたいのですね。その場合、
<script language="JavaScript" src="ファイル名.js"></script>
は、index.htmに記述します。
※これは、「JSを記述したファイルをこのページに呼び出します」と言う意味のタグなのです。ですので、この「呼び出して実行したい」と言う命令文をJSプログラムの記述してあるページに書いても仕方ないと言う意味は判りますか(このように「こんなもんなんだ」と言う覚え方ではなく、意味を持って覚えれば今後判らなくなってしまうと言う事が無くなりますので、今回を機に「意味で」覚えた方が宜しいですよ)?
で、index.htmにJSファイルを呼び出すタグを挿入しましたら、今度はJSプログラムを記述してあるファイルを「○○.js」に拡張子を変更します(今回はsub1.jsになりますね)。
で、そのsub1.js内のJS記述方法は
通常htmlページ内に記述する場合、例えば
<script LANGUAGE="JavaScript">
<!--
function pop_win01(){
win=window.open("○○.htm","window1","width=100,height=100,scrollbars=no,location=no,menubar=no,left=0,top=0");
win.moveTo(0,0);
}
// -->
</script>
となりますが、外部に出した場合はこの上下4行は必要有りません。
外部に出す場合、そのままダイレクトに
function pop_win01(){
win=window.open("○○.htm","window1","width=100,height=100,scrollbars=no,location=no,menubar=no,left=0,top=0");
win.moveTo(0,0);
}
などと記述します。勿論htmlのタグなどの記述はしてはいけません。あくまでも「JSファイル」なのですから、JSに関する命令文のみを記述します。
>スプリクトを、1ページ内にたくさん記述しすぎたのか、開く途中で、停止してしまうのです、ただ、遅いだけならいいのですが、停止したので
これは、長すぎるのではなくて、どこかにミスがあるのではないでしょうか?外部に出す際、いらないものを入れてしまったか、必要な部分を消してしまったか、またはJSがぶつかってしまっている所為でエラーが起こっているか…。
ちなみに、外部に出す際は、「それぞれの命令別にJSファイルを作成し、それぞれ呼び出す」ことをお奨めします。
何故なら、何かエラーが起こった場合、全てのいろいろなJSの何処が間違えているか検証しにくいのと、もし他のページでそのJSの中の一部分のプログラムのみが必要だった場合、そのファイルの上から下まで読み込むので意味の無い負荷がかかり外部に出した意味が無くなる…等の理由があるからです。
長くなってしまいましたが、お判りになりましたでしょうか?また不明な点がありましたら、補足致します。
この回答への補足
回答ありがとうございます。
もともとのタグはこれです。
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<TITLE>Java-Script</TITLE>
</HEAD>
<BODY>
<body background="a016bcg.gif">
<FORM></FORM>
<script language="JavaScript">
<!--
var bkgrnd_offset = 0;
var bk_object = eval('document.body');
function bk_scr(maxSize) {
bkgrnd_offset = bkgrnd_offset + 1;
if (bkgrnd_offset > maxSize) bkgrnd_offset = 0;
bk_object.style.backgroundPosition = "0 " + bkgrnd_offset;
}
var scr_timer = window.setInterval("bk_scr(400)",1);
//-->
</script>
<br><br>
</BODY>
それで、ご指示いただいたとおり、SUB1に
var bkgrnd_offset = 0;
var bk_object = eval('document.body');
function bk_scr(maxSize) {
bkgrnd_offset = bkgrnd_offset + 1;
if (bkgrnd_offset > maxSize) bkgrnd_offset = 0;
bk_object.style.backgroundPosition = "0 " + bkgrnd_offset;
}
var scr_timer = window.setInterval("bk_scr(400)",1);
部分のみを記述し、拡張子も変え、JS に変えました、INDEXのほうには、<script language="JavaScript" src="sub1.js"></script>
と記述しました、ただ気になるのは、HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<TITLE>Java-Script</TITLE>
</HEAD>
<BODY>
<body background="a016bcg.gif">
<FORM></FORM
の部分は、INDEXの方に記述していいんですよね?<br><br></BODY>は割愛しました。
そして、実行したところ、スプリクとエラーになりました、なぜでしょうか?
回答ありがとうございます、スクリプトのエラーは出ていませんでした、確か。ページ全体がスクロールするタグを追加した時に、停止したのです、除除には、作動してはいるのですが、、、早速、お教えいただいた通り、やってみます。
少しは、はやくなるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- C言語・C++・C# pythonで外部のファイルを読み込む際のエラー 2 2022/04/12 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
複数のJavascriptを1つのscrip...
-
外部ファイル名を変数で指定で...
-
【Google Apps Script】「ライ...
-
Jquery.PHPファイルのechoが表...
-
外部.jsの内容を一部置き換えて...
-
javascriptとApacheの設定
-
javascriptファイルは1つに統...
-
JavascriptとJqueryを混在し記述
-
javascriptのalertで文字化けが...
-
外部jsファイルから本体の関数...
-
呼出したjsファイル内で他jsフ...
-
JavaScript内の関数を別のファ...
-
Dreamweaver で 外部JSを読み込...
-
<script src="">読み込まない
-
URLに変数を指定できるのか
-
複数ファイルアップロードはAja...
-
ひとつの外部ファイルに複数の...
-
条件分岐で、読み込む外部スク...
-
外部ファイルでBODYのonloadイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
複数のJavascriptを1つのscrip...
-
Dreamweaver で 外部JSを読み込...
-
javascriptとApacheの設定
-
【Google Apps Script】「ライ...
-
cssにjavascriptを入れる?呼び...
-
JavaScriptのエラー ( 関数の...
-
ひとつの外部ファイルに複数の...
-
javascriptファイルは1つに統...
-
JavascriptとJqueryを混在し記述
-
<script src="">読み込まない
-
javascriptのalertで文字化けが...
-
レンタルサーバーでjavascript...
-
javascript内で外部ファイルを...
-
外部読み込みで動かないときの...
-
外部ファイルを実行
-
プルダウンメニューを別ファイ...
-
ホームディレクトリを示すチル...
-
外部.jsの内容を一部置き換えて...
-
xmlHttpRequest.send( EncodeHT...
おすすめ情報