javascriptの絶対パスについて質問させてください。
ファイルの階層は
home/index.html
home/category/contact.html
home/img/aa.jpg
home/img/bb.jpg
home/js/change.js
のようなファイル階層をしていると仮定します。
index.html及びcategory/contact.htmlでは
先にaa.jpgを表示してあります。
1月はaa.jpg 2月はbb.jpg 3月はaa.jpg・・・という月によって画像を変更するjavascriptファイルを作成してるのですが、
画像の絶対パスを取得する仕組みで悩んでます。
var local = window.location; var url = local.origin; function getDir(place, n) { return place.pathname.replace(new RegExp("(?:\\\/+[^\\\/]*){0," + ((n || 0) + 1) + "}$"), "/"); } var pwd = url + getDir(local); // 現在のディレクトリ console.log(pwd);
以上のコードをindex.htmlでコンソールログを確認すると
file:///Users/ユーザー名/Desktop/home/
となり。
この処理のあと、img/bb.jpgを連結する処理を入れて
file:///Users/ユーザー名/Desktop/home/img/bb.jpg
としてsrcタグに代入しております。
そして悩んでいるのは、
category/contact.html上で上の絶対パスを確認したところ
file:///Users/ユーザー名/Desktop/home/category/img/bb.jpg
となりcategory/配下にはimgフォルダがないのでエラーとしてなってしまいます。
file:///Users/ユーザー名/Desktop/home/imgを指定する方法はありますか?
file:///Users/ユーザー名/Desktop/homeはサーバー等の兼ね合いもあり、
動的に変化させたいと思っております。

回答2件
あなたの回答
tips
プレビュー