2011-03-23 67 views
0

可以獲取Javascript服務器路徑嗎?javascript,從腳本內部獲取腳本路徑

例如,我有一個位於目錄中的javascript文件,並且在那個目錄中有一些我想「發佈」到的php腳本。

當我包括我的主頁的JavaScript文件

<script type="text/javascript" src="assets/js/some.js"></script> 

我不能訪問說喜歡/post.php,使用相對路徑,因爲JavaScript是駐留在資產/ JS /目錄中的文件不在主頁所在的目錄中「運行」。

很明顯,我可以指定路徑,但我試圖想到更強大的方法。

我知道你可以得到「腳本」標籤並獲得文件的URL,我可以從那裏工作,但我不知道這樣的功能是否存在,這隻會告訴你。

謝謝!

+0

是不是跟你的代碼佈局的基本問題?您的JavaScript不在已知位置,使得在這些目錄中調用代碼變得困難。 – Tramov 2011-03-23 14:08:51

回答

0

創建一個從bla.php擔任腳本,並將其放置在你的some.js

<script type="text/javascript" src="bla.php"></script> 

裏面bla.php,渲染JavaScript類和您的數據存儲在它。 即

function MyConstants() { 
    this.HELLO = "hello"; 
    this.POST_PATH = "/etc.php"; 
} 

您可以通過訪問常量(或其他任何東西):

var consts = new MyConstants(); 
alert(consts.HELLO); 

希望這有助於! :-)

+0

製作課程沒有意義。使用對象文字。 – SLaks 2011-03-23 14:17:06

+0

有趣。我可以做出像那樣的工作。 – 2011-03-23 14:40:23

0

您可以嘗試使用一個跨瀏覽器stack tracer來獲得當前的文件名

但是有些情況下你的想法,這可能打破,例如,如果你添加一個JS cacher的許多案例,符合所有必要的JS文件合併成一個並壓縮它們。

我要說的是一個更聰明的方法是在使用它可以找出你的PHP skripts網址地方的原則,像RubyOnRails有routes