JavaScriptの外部ファイル読み込みについてご教授下さい。
現在、Webサイトを作ろうとPHPとJavaScriptをレンタルサーバーにアップしたのですが、
ローカルではPHPから外部ファイルのJavaScriptを読み込めるのに、
サーバーにアップするとPHPからJavaScriptを読み込めなくなってしまいます。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>TEST</title>
<meta charset=utf-8" />
<script type="text/javascript" src="./js/jquery-1.4.2.min.js"></script>
・・・
上記のようにしてもjquery-1.4.2.min.jsが読み込まれず、jQueryが使えません。
FireBugでスクリプトを確認すると以下のようなエラーが出ていました。
1Failed to load source for: http://xxx.my-sv.net/js/jquery-1.4.2.min.js
ちなみに以下のようにJavaScriptファイルを開こうとするとブラウザは真っ白なのですが、
http://xxx.my-sv.net/js/jquery-1.4.2.min.js
テキストファイルに変更したものだと中身を見ることができました。
http://xxx.my-sv.net/js/jquery-1.4.2.min.txt
ブラウザはFireFox3.0.11とIE8.0の両方でダメでした。
なぜJavaScriptファイルだけ読み込めないのでしょうか。
ご教授お願いいたします。
※ちなみに、別のレンタルサーバーにアップロードしたら問題なく読み込めました。
しかし、そこにはDBがなかったので、なるべく今のレンタルサーバーを使いたいのです。。
No.3ベストアンサー
- 回答日時:
以下の情報からの推測ですが、
まず、my-sv.netのサーバーは
http://www.my-sv.net/server.shtml
Apache 2.2系を使ってますね。
さらに、質問者様と似たような問題を起こして解決された方で、
http://forum.jquery.com/topic/can-t-load-jquery- …
Apacheの設定にて、
1.;EnableMMAP off
2.;EnableSendfile off
にすると直ったと書かれています。
さらに、EnableMMAPについて調べてみると
http://heppoko.blogdns.net/?p=3262
ネットワークマウントされた DocumentRoot (例えば NFS や SMB) では、
カーネルは自身のキャッシュを使ってネットワークからのファイルを
送ることができないことがあります。
と書かれています。
また、質問者様が試された、255Byte以上のファイルにて失敗されていると
いうことですよね。
ご存知かと思いますが、DocumentRootは通常、Apache WebサーバーのRootフォルダーの
デフォルトフォルダーになりますから、DocumentRoot以下に多くのファイルが集まるため
容量は大きくなります。
そのため、ネットワーク経由に大容量のディスクを持った別のLinuxサーバーを立て
そのLinuxサーバーのDocumentRootフォルダーを大元のサーバーにマウントすると
いう運用は十分に考えられます。
これらの事を総合して推測するに、
・ApacheがjQueryのファイルを転送するのに複数のサーバー間での
ネットワークでの転送が起こる
・サーバーでは、ファイルを転送するのに通常はキャッシュを使ってしまう
ということが推測されます。
と、なると、
・サーバーのカーネルのキャッシュをオフにしてもらう
・Apacheがネットワーク転送でサーバーの設定を使わないように設定してもらう
どちらかの対応が必要かと思います。
サーバーのカーネルのキャッシュをオフにしてしまうと、高速なファイル転送が妨げ
られる可能性もありますから、
後者のApacheの設定を変更してもらうようサーバー管理者に問い合わせては
いかがでしょうか?
具体的には、上記のように、httpd.conf内で
1.;EnableMMAP off
2.;EnableSendfile off
をする。という事です。
もし、これで直らなかったらごめんなさい。
DBが使える他のサーバーがサクッと見つかるといいのですけどねぇ。
ご教授ありがとうございます!
サーバーかApacheの問題の可能性が高いのですね。。
用語については後々調べようと思います。
今、管理人さんが原因を把握し、対処してくれてるそうなので、
その結果をまずは待つことにしました。
それで厳しそうなら、無料じゃないレンタルサーバーを利用しようかなと。。
どうもありがとうございました!
No.2
- 回答日時:
255バイト・・・・
これだと ほぼ何もできない気がする
255kバイト・・・
どちらにしても jsだけ読めないということですね。
邪道・そして 重い方法・お勧めできないかもしれない方法ですが、、別のレンタルサーバーにjs をおいて
(もちろん管理者 は本人のもの!!マナーです)
それを読みに行く・・
それでもできなかったら、サーバーが何か仕掛けてるとしか。。
ありがとうございます!
ご教授のとおり、別のレンタルーサーバーにおいたJavaScriptを指定すると動作しました。
また、レンタルサーバーの管理人さんに事情を話したところを、現象を把握し、対処してくれるとのことでした。
ですので、原因が判明するまではnoris02さんに教えていただいた方法で対処したいと思います。
どうもありがとうございました。
No.1
- 回答日時:
はっきりしたことは 私にはわからないのですが、
<meta http-equiv="Content-Script-Type" content="text/javascript">
と
jquery-1.4.2.min.js の ファイル名を jquery.js に変更して 試してみるとどうなりますか?
バージョン残しておきたい場合は jquery.js?ver=1_4_2 など。
この回答への補足
ご連絡ありがとうございます!
ご指摘の2点を早速試してみましたが、現象は変わらずでした。。
自分で色々試したところ、そのレンタルサーバーに255Byte以上のJavaScriptファイルをアップロードするとそのファイルは読み込めないようです。
255Byte以下のJavaScriptファイルでは読み込みができ、動作も確認することができました。
レンタルサーバーの問題なのでしょうか。。
それとも利用しているFTPソフト(FileZilla)が関係しているのでしょうか。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptとApacheの設定
-
cssにjavascriptを入れる?呼び...
-
Jquery.PHPファイルのechoが表...
-
別ファイルのfunctionの読み込み方
-
javascriptのalertで文字化けが...
-
複数のJavascriptを1つのscrip...
-
Dreamweaver で 外部JSを読み込...
-
JavaScript内の関数を別のファ...
-
外部jsファイルから本体の関数...
-
<script src="">読み込まない
-
メールフォーム、受信メールの...
-
複数ファイルアップロードはAja...
-
URLに変数を指定できるのか
-
条件分岐で、読み込む外部スク...
-
javascriptで別ファイルから変...
-
外部ファイルでBODYのonloadイ...
-
JavaScriptの外部ファイル化とS...
-
javascriptファイルは1つに統...
-
ひとつの外部ファイルに複数の...
-
【Google Apps Script】「ライ...
マンスリーランキングこのカテゴリの人気マンスリー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...
おすすめ情報