ホームディレクトリを示すチルダ(~)について悩んでいます。
例えば、外部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で質問しましょう!
似たような質問が見つかりました
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- その他(読書) やさしいPHP第3版 の サポートページにアクセスしたい。 1 2022/12/17 17:31
- JavaScript jsで、switch文で書かれた分をif文にできませんか。 1 2022/07/28 15:10
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryが開かない
-
プルダウンメニューを別ファイ...
-
JavascriptとJqueryを混在し記述
-
サムネイルをクリックすると周...
-
別ファイルのfunctionの読み込み方
-
<a href="#" …>の意味を教えて...
-
pythonのWebスクレイピングでfi...
-
ユーザーが更新ボタンを押さな...
-
乱数を一定時間毎に表示させた...
-
base64encodeでの文字化けについて
-
リンクに飛ばない・・・
-
インラインフレーム内のスクロ...
-
onloadで2つの関数を設定したい
-
javascriptでbgmを自動再生する...
-
ランダムにページにアクセスしたい
-
HTMLソースからURLだけを抜き出...
-
マウスオーバーで文字にアンダ...
-
Canvasを使って描画して面積取得
-
bodyにwidth:100%をつける理由は?
-
JavaScript関数呼出し元の要素...
マンスリーランキングこのカテゴリの人気マンスリー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...
おすすめ情報