![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
ホームディレクトリを示すチルダ(~)について悩んでいます。
例えば、外部JavaScriptファイルを参照する時、
<script type="text/javascript" src="~/test1.js"></script>
とURLにチルダを含んでいても問題無く、ホームディレクトリの下にある
test1.jsファイルに参照できます。
これとは別に、window.open ("~/aaa.htm"); と記述し、
ホームディレクトリ下にある"aaa.htm"のページへリンクするようにしたいのですが、
実際に実行するとリンク先のURLが"http://xxxxxx/yyyyy/~aaa.htm"になってしまいます。
チルダ文字がURLの一部と認識されてしまっているようなのですが、
チルダをURLの一部ではなく、ホームディレクトリを参照するようにしたいのですが、
どのようにすれば宜しいのでしょうか?
No.4ベストアンサー
- 回答日時:
的はずれかもしれませんが
「http:での『ホームディレクトリ』ってどこ?」
file:だったら、ブラウザを起動したユーザーのホームディレクトリだと予想できます。
(もしかして 「外部JavaScriptファイルを参照する時…問題無く」というのはローカルファイルでの確認時ではないですか?)
が、http:だと、httpサーバーの所有者ってことにならないでしょうか?
~ユーザー名にしても、http上での位置であって、実際のファイルシステム上の位置とは限りません。
httpサーバーがユーザー名と結び付けているだけです。~aaa が ユーザーbbbと結び付いているかもしれません。
あるいは。
「ブラウザのURL解析エンジンと、JavascriptのURL解析エンジンの挙動が違う」
というのも考えられます。最近のブラウザでは高速化のため、Javascript専用のエンジンを使ってるケースもあるので。
No.3
- 回答日時:
ホームディレクトリというのがどこなのかわかりませんが、
HTMLファイルのあるディレクトリから相対URL、絶対パス、絶対URLのいずれかで指定して下さい。
http://xxxxxx/yyyyy/index.html
から相対URLでaaa.htmでしたらhttp://xxxxxx/yyyyy/aaa.htmですし、
http://xxxxxx/index.htmlから相対URLでaaa.htmでしたらhttp://xxxxxx/aaa.htmになります。
/yyyyy/aaa.htm
このように絶対パスで指定すると
参照元がどこであろうとhttp://xxxxxx/yyyyy/aaa.htmを指定したことになります。
http://xxxxxx/yyyyy/aaa.htm
このように絶対URLで指定すると、参照元のパス、ドメインにかかわらずhttp://xxxxxx/yyyyy/aaa.htmを指定したことになります。
> 例えば、外部JavaScriptファイルを参照する時、
> <script type="text/javascript" src="~/test1.js"></script>
> とURLにチルダを含んでいても問題無く、ホームディレクトリの下にある
> test1.jsファイルに参照できます。
こういう設定の仕方(~というディレクトリを参照した場合はパス指定に何らかの変更を加える)は聞いたことがありません。
サーバーの管理者に特殊な設定がされてないか、問い合わせてみて下さい。
わかりづらいサンプル(URL)を記載したにもかかわらず、
わかりやすく解説していただいて、ありがとうございました。
ちなみにサーバ側の設定ですが、開発機であるWinXP(IIS5.5)と
実用機であるWinServer2008(IIS6.0)で特別な設定は施していません。
"~/test1.js"という参照で正常に動いております。
No.2
- 回答日時:
サイトのデータは通常(~/aaa.htm)で無く(index.htm)を起点として構築します。
ですからaaa.htmがindex.htmと同じ場所に有るのでこのコードは(window.open ("aaa.htm"); でOK
チルダは普通("http://xxxxxx/yyyyy/~ユーザ名/index.html)と言う場合に使用します。
上記の記載は絶対アドレス表記です。
この回答への補足
アドバイスありがとうございます。
おかげさまで、window.open ("aaa.htm"); は理解できました。
ただ、チルダは http://xxxxxx/yyyyy/~ユーザ名/index.html という場合に
使えるのであれば、外部のJavaScriptファイルに参照する
<script type="text/javascript" src="~/test1.js"></script> も
使えないはずなのでは?という疑問が残ってしまってます。
この理由について何かご存知であれば、ご教授の程宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
外部ファイル名を変数で指定で...
-
evernoteというサービスのサイ...
-
javascriptとApacheの設定
-
複数のJavascriptを1つのscrip...
-
ポップアップカレンダーサンプル
-
javascriptファイルは1つに統...
-
JavascriptとJqueryを混在し記述
-
Dreamweaver で 外部JSを読み込...
-
<a href="#" …>の意味を教えて...
-
function の return 値を表示し...
-
bodyにidをつける理由は何ですか?
-
フレームだけ閉じる方法ありま...
-
新しいウィンドゥを最大化で立...
-
親フレームのURLによって、...
-
openerは使えないのでしょうか?
-
WebBrowserコントロール(続き)
-
複数のiframeの読み込みについて
-
getElementsByNameで要素が取得...
-
インラインフレームで表示され...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルのfunctionの読み込み方
-
javascriptとApacheの設定
-
Dreamweaver で 外部JSを読み込...
-
プルダウンメニューを別ファイ...
-
複数のJavascriptを1つのscrip...
-
cssにjavascriptを入れる?呼び...
-
javascriptファイルは1つに統...
-
ホームディレクトリを示すチル...
-
JavascriptとJqueryを混在し記述
-
リンク先のURLを記述せずに、Ja...
-
javascriptのalertで文字化けが...
-
外部ファイル名を変数で指定で...
-
【Google Apps Script】「ライ...
-
ひとつの外部ファイルに複数の...
-
外部読み込みで動かないときの...
-
呼出したjsファイル内で他jsフ...
-
processing
-
エラー行の行数の不思議
-
外部ファイルJS参照を全て消さ...
-
javascript内で外部ファイルを...
おすすめ情報