• ベストアンサー

javascript 相対パス表示

javascirptで、現在のページのディレクトリを取得し サイトルート相対パスで表示させるには どうしたらよいでしょうか? 例;http://testweb.co.jp/test01/test02/test.html   ↓ サイトルート相対パスでディレクトリのみを表示  /test01/test02/

質問者が選んだベストアンサー

  • ベストアンサー
  • 4017B
  • ベストアンサー率73% (1305/1776)
回答No.3

とりあえず下記サンプルで、いわゆる「そのページの相対パスでのディレクトリ」を取得出来ます。 ━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━ <script type="text/JavaScript"><!-- window.onload = function(){ var my_url = window.location.href; if ( my_url.match(/^https?:\/\/([0-9a-z\.\-:]+?)(\/[0-9a-z_\-\/]+\/)([^\/][0-9a-z_\.\-:]+\.[0-9a-z]+?)$/) ) { alert( RegExp.$2 ); } else { alert( 'NoData...' ); } }; //--></script> ━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━ 取得した相対パスを色々と活用したい場合には、関数内のグローバル変数である“RegExp.$2”に格納されてます。ので、適当に“var my_dir = RegExp.$2”みたいな感じで加工して使って下さい。 P.S. 正規表現はかなりアバウトですので、如何なるルート環境でも、完璧に相対パスを取得出来る事を確約する物ではない事を。あらかじめお断りして置きます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ん~?いまいち状況がわかりませんが カレントのurlの取得はlocationを使えばよいかと <script> var url=window.location; var rex = new RegExp("ttp://.*?(/.*/)"); alert (rex.exec(url)[1]) </script>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

正規表現? <script> var url="ttp://testweb.co.jp/test01/test02/test.html"; var rex = new RegExp("ttp://.*?(/.*/)"); alert (rex.exec(url)[1]) </script>

renarena85
質問者

補足

現在のurlを取得しして、パスのみを表示させていのですが ドメインが複数なので「urlの取得」も含む記述が知りたいのです。

関連するQ&A

  • 相対パスか絶対パスって何?

    CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。 (例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。 相対パス・絶対パスとは何でしょう? サーバーにあるホームディレクトリのフルパスとは違うのですか? 教えてくださいお願いします。

    • 締切済み
    • CGI
  • 相対パスか絶対パス??

    CGIサイト内検索を設置したいと思っていますが、相対パスか絶対パスって言う言葉が出てきます。 (例)path/にはsearch.cgiまでの相対パスか絶対パスが入ります。 相対パス・絶対パスとは何でしょう? サーバーにあるホームディレクトリのフルパスとは違うのですか? もしフルパスと同じだと言った場合・・・ 「path/にはsearch.cgiまでの相対パスか絶対パスが入ります」ではフルパスが/home/hatenaだった場合は 下記にはどのようにはいるのでしょうか? (例)<form method="GET" action="path/search.cgi"> 再投稿ですが、もうチョット具体的に書いてみました 教えてくださいお願いします。

    • 締切済み
    • CGI
  • 絶対パスと相対パスはどちらがいい?

    htmlで自サイト内のリンクをつける場合、絶対パスと相対パスはどちらを使った方がいいのでしょうか? すべてのファイルが同じディレクトリにあるとして、 <a href="test.html">test</a> と <a href="http://example.com/test.html">test</a> では、SEOの効果が違ったりしますか? 教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSが反映されない(相対パスを使う?)

    FC2でホームページを作っています。 ROOTディレクトリには st.css、index.html などを作りました。そこにある全ての ページにCSSが反映されています。 その下の階層に imgディレクトリと、自分の書いた作品を入れるためのディレクトリを 作りました。imgディレクトリの中にはgif形式の画像(ホームページのレイアウトに使う画像) ファイルが入っています。 作品を入れているディレクトリのページを見ると、CSSが反映されておらず、 真っ白のページに文字が左詰めで書いてあるだけでした。 そこで、相対パスというものを使ってCSSを反映させたいです。 相対パスの説明サイトを見ても全く分かりませんでした。 特に、「./」の使い方が分からなかったです。これをどうやって使うのか? もしくは 別のを使うのか? 仮に「./」を使うとして、それをどこに書き込めばいいのかも分かりません。 <link rel="○○(反映させたいページ)/stylesheet" href="st.css" type="text/css"> これのどこかに書き込むと反映されるようになると説明があったのですが…。 ご回答をお願いします。

    • ベストアンサー
    • HTML
  • サイトルート相対パスと絶対パスのメリット・デメリット

    サイトルート相対パスと絶対パスのメリット・デメリット htmlでサイト内リンクを指定する際、 /test/test.html というサイトルート相対パスで指定する場合と、 http://example.com/test/test.html という絶対パスで指定する場合、 それぞれのメリット・デメリットはどういったものがあるでしょうか? ドメインは絶対に変更されないという前提の場合です。 絶対パスの方が重くなるなどのデメリットはありますか?

  • URLは絶対パス、相対パス、ルート相対パス

    WEBサイトを作成する上で、HTML内に使用するURLの記述方法で悩んでいます。 「絶対パス」、「相対パス」、「ルート相対パス」のどれがいいでしょうか。

    • ベストアンサー
    • HTML
  • 【PHP】スクリプトから相対パスを知りたい

    現在、XHTML+PHPにてサイトを構築している者です。 PHP スクリプト ファイル自身から見たトップディレクトリまでの相対パスの深さを知りたいのですが、どうすれば良いのでしょうか? 例 DocumentRoot/hoge/piyo.php → ../ DocumentRoot/hoge/piyo/fuga.php → ../../ DocumentRoot/hoge/piyo/fuga/fuuga.php → ../../../ 例に示したように取得する方法を知りたいです。

    • ベストアンサー
    • PHP
  • 相対パスについて

    初歩的なことですみません。 相対パスについて教えてください。 <public_html>---<cgi-bin>---<ccc>---<ttt.pl> *************| *************---<eee>---<test.html> こちらの構成で、(***は無視してください。) (public_htmlの下はcgi-binとeeeフォルダです。) test.htmlから見た、ttt.plのパスは ../cgi-bin/ccc/ttt.pl  でよいのでしょうか?? CGIを設置する時、ディレクトリを変えたら、動かなくなってしまったので・・・ 宜しくお願いします。

    • 締切済み
    • CGI
  • 絶対パスのルートをサブディレクトリに変更する方法

    現在他人が作ったサイトの修正をしておりますが、そのサイトのパスが全部絶対パスとなっており、デモ確認ができなくて困っております。 テスト用に「test」というサブディレクトリが用意されていますが、.htaccessなどを使って、「test」内にアップされたテストサイトのルートをサブディレクトリ「test」と認識させることは可能でしょうか。 詳細については下記となります。 ・ルートディレクトリ内のファイルは現在公開中なので、いじることができません。また、ルートディレクトリ内に.htaccessを置き、リダイレクト的なこともできません。 ・サブドメインを設定できないので、「test」をサブドメインのルートにすることはできません。 ・元々他の方が作ったサイトで、今回はその内の2、3ページだけの修正なので、相対パスへの置換以外の方法で対応したい。 ・できれば本番公開時にファイルの修正を必要としない方法が理想です。jsを使った方法があると思いますが、jsファイルを読み込ませないといけないので、できれば避けたいです。 以上のような状況ですが、何か方法はありませんでしょうか。 何卒よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 絶対パス・相対パス・ディレクトリ・について

    HTMLでホームページを作ろうとしている初心者です、教えてください 自分のホームページのフォルダの中ににリンクするパスの指定方法を相対パスというのはわかりましたが、画像を表示するためのパスの指定方法も相対パスでいいのでしょうか、それともディレクトリというんでしょうか?

専門家に質問してみよう