旅行好きのおしりトラブル対策グッズ3選

インクルードされているjsファイルが自身のパスを得て、
たとえばalertで表示するようなことはできるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>ファイルからの相対パスで画像などを表示したい


jsのパスは関係なくて、そのjsを読み込んでいるhtmlからの相対でアクセスする事になります。(ちなみに外部CSSでパスを書く時とはCSSファイルからの相対にする必要がありますね。)
なので、相対パスを調べたいならlocation.hrefを参照・解析する事になるでしょう。
ただ、面倒なんでhttp://~ってurlを書いた方が楽だと思いますが。
    • good
    • 0

document.getElementsByTagName('SCRIPT')のそれぞれのsrc属性を調べて、


指定されたファイル名と同じ物があれば、document.URLのパスと組み合わせる

こんな感じで出来ないでしょうか。
ファイル名がわからなければ無理ですが。
    • good
    • 0

難しいのでは?


それに外部ファイルはスタティックな情報なのでわざわざalertだす
意味がないような・・・

デバッグならFireBugsあたりでやるとかなり直観的になるかも。

なぜそれが必要なのかをかくと、別案もでてくるかも。

この回答への補足

>なぜそれが必要なのかをかくと、別案もでてくるかも。
例えばhoge.jsというファイルがそれだとして、
そのファイルからの相対パスで画像などを表示したいと考えています。
このhoge.jsはパスの異なるさまざまなhtmlファイルから読み込まれることを想定しているためです。

>それに外部ファイルはスタティックな情報なのでわざわざalertだす
意味がないような
これに関しては、正確に取れているかを確認するような意味でのたとえばの話でした。
わかりにくくて申し訳ありません。

補足日時:2007/12/14 10:09
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qonchangeイベントを強制的に発生させる

お世話になります。
onchangeイベントをjavascriptで強制的に動作させたいと思っております。

発生させたい場合
・ユーザーがtextボックスを入力
・リンクボタンを押下した場合

簡単なことなのかもしれませんが、
ご教授よろしくお願いいたします。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<script type="text/javascript">

function change(){
alert('test');
}

function update(){
document.getElementById('1').value = "update";
document.getElementById('1').onchange = change;
}


</script>

<input id="1" type="text" value="1" onchange="change();">

<a href="javascript:update();">update</a>

お世話になります。
onchangeイベントをjavascriptで強制的に動作させたいと思っております。

発生させたい場合
・ユーザーがtextボックスを入力
・リンクボタンを押下した場合

簡単なことなのかもしれませんが、
ご教授よろしくお願いいたします。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<script type="text/javascript">

function change(){
alert('test');
}

function update(){
document.getElementById('1').value = "update";
document.getElementById('1').onchan...続きを読む

Aベストアンサー

回答は出てますが・・・onchangeにこだわるなら、

document.getElementById('***').onchange();

()を付ければ呼び出せます。(Windows FireFox2、Opera8で確認)


var f = document.getElementById('***').onchange;
f();

IE6の場合はいったん変数に代入する必要があるようです。


人気Q&Aランキング

おすすめ情報