プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ。初心者です。
includeやrequireでファイル参照する際、ファイルX内にrequire(ファイルA)と表記し参照すると思うのですが、その参照したファイルAが内部でさらに、ファイルBを参照していたとします(備考1)。その場合、ファイルBが別フォルダにあるとうまく読み込めないのですが、どうしたら、よいのでしょうか?ちなみに備考2の場合はこの問題が発生しません。

☆備考1(うまく読み込めないパターン{パスで書きました})
フォルダ教えて\フォルダhoge\ファイルX(この内部でファイルAをrequire)

フォルダ教えて\フォルダgoo\ファイルA(このファイルはjavaScriptで記述されたファイルBを参照)
フォルダ教えて\フォルダgoo\ファイルB(ファイルAと同じディレクトリ内に配置)


☆備考2(うまく読み込めるパターン)
フォルダ教えて\フォルダhoge\ファイルX(この内部でファイルAをrequire)
フォルダ教えて\フォルダhoge\ファイルB(requireするファイルXがあるフォルダと同じディレクトリに配置)

フォルダ教えて\フォルダgoo\ファイルA(このファイルはjavaScriptで記述されたファイルBを参照)

A 回答 (5件)

saak888 さん、レスありがとうございます。



…その通りです、「src="../saak.js"」は「ひとつ上のフォルダにある saak.js 」という意味です。 

で、saak888 さんのおっしゃっている「うまく動作しない」という意味ですが

(1)「備考1」「備考2」ともうまく動作しない
(2)「備考1」は動作するが「備考2」は動作しない

のうち、どちらなのでしょう?
もし(1)ならば、サーバ側の設定やディレクトリ構造などの問題も絡んできますので、次回私が回答を差し上げるまで少々お時間をください(saak888 さんへの私からの追加の問い合わせ内容について検討したいと思いますので)。
もし(2)であれば「備考1」で運用されることをオススメします。

では、よろしくお願いいたします。
    • good
    • 0

saak888 さん、おはようございます。


お手数をかけてスミマセンでした(汗)。

あ、お陰様で、原因らしいものが だんだん見えてきましたよ~。
まず、持ってきていただいたコード中

src="http://poc.xserv.jp/saak.js"

という部分がありますが、通常ここは「http://~~」という書き方はしないですね~。
さて、「備考1」の場合、ファイルAとファイルB(この場合 saak.js のこと、という解釈で良いでしょうか?)が同じディレクトリにありますから、単純に

src="./saak.js"

で良いと思います(先頭の「./」[ドット1つ+スラッシュ]というのは「現在のディレクトリの」という意味です)。

一方「備考2」の場合は、さしずめ

src="../../フォルダhoge/saak.js"

ということになるでしょう。(文中の「../」[ドット2つ+スラッシュ]というのは「ひとつ上のディレクトリの」という意味です)。この場合の意味は、「ファイルAの2つ上のデイレクトリ(つまり「フォルダ教えて」)の下にあるフォルダhogeに入っている saak.js」です。

もし追加でご質問あれば、お気軽にどうぞ。

この回答への補足

毎度、親切なご回答ありがとうございます。
しかし、残念ながら、うまく動作しません…
もしも、ひとつ上のディレクトリ上にあるとしたら、

src="../saak.js"

で良いわけですよね?しかし、うまく表示されません。
困った、、、これはそのまま同じディレクトリに置くほう(備考1)が無難なのかもしれませんね。

補足日時:2007/01/07 11:42
    • good
    • 0

saak888 さん、hkd9001 です。



ええと、私の表現が悪かったようです…スミマセン(笑)。
今朝 私が書いた
-----------------------------------------------------------------------------
(1)「備考1」のファイルAで、JavaScriptファイルを参照している部分のコーディング
(2)「備考2」のファイルAで、JavaScriptファイルを参照している部分のコーディング
-----------------------------------------------------------------------------
ということの意味は「具体的に、どういうコーディングをなさっているか、ファイルAの中身の、該当部分をコピー&ペーストして、ここへ持ってきてください」ということだったのです。

…お手数をおかけしますが、よろしく…

あと「うまく読み込まれているか?」の確認は、ちょっと難しいですね~。

この回答への補足

すいません。こちらが勘違いしていたようで。
一応こんなカンジでいいんでしょうかね↓?

<script type="text/javascript" src="http://poc.xserv.jp/saak.js" charset="utf-8"></script>

補足日時:2007/01/07 03:44
    • good
    • 0

相対パスの指定ミスでは?

    • good
    • 0

saak888 さん、こんにちは。



さて、お手数なのですが、ちょっと補足をお願いしたいと思います:

(1)「備考1」のファイルAで、JavaScriptファイルを参照している部分のコーディング

(2)「備考2」のファイルAで、JavaScriptファイルを参照している部分のコーディング

上記2つがわかると、多分お答えができると思いますので…。よろしくお願いします。

この回答への補足

(1)(2)両者共に相対パスでファイルBを参照しています。

自分の予想では絶対パスに書き換えると問題はとけるのではと…思い、絶対パスでやってみましたが、うまく動作しません。ちなみに、きちんと読み込んでいるか確認する方法ってありますかね?

補足日時:2007/01/06 14:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!