2016-01-06 88 views
4

如果我有一個HTML頁面的腳本標籤是這樣的:腳本標記中的「src」何時引用本地文件系統上的資源(vs非本地)?

<SCRIPT SRC="./xxx.js"></SCRIPT> 

在什麼條件下是./xxx.js可以得到/從本地文件系統訪問?

我明白./xxx.js URI/URL引用「在當前目錄中名爲'xxx.js'文件」,但是當(在何種條件下)將「當前目錄」是指在本地文件系統的當前目錄上的客戶機/瀏覽器正在運行?

當從本地文件系統檢索到包含<script>標記的HTML文件時,是唯一的情況嗎?

+1

一個網址總之,是的。 – enhzflep

+0

我很想知道這個問題來自哪裏。您是否遇到過只能由瀏覽器錯誤地嘗試從本地文件系統而不是服務器加載的神祕現象? –

回答

5

我體會到了「./xxx.js」 URI/URL引用‘文件名爲‘xxx.js’在當前目錄’,

更正確,這意味着它會參考相對於當前文件命名爲xxx.js的文件。

這意味着它將在包含<script>標記的文件從相同的目錄中查找。如果它是本地文件系統,它將從那裏加載它。如果它是從網絡服務器提供的,它將向該文件的網絡服務器發出一個新的請求。

0

URI的協議決定如何請求文件。在你的情況下,路徑是相對的,所以使用請求html頁面時使用的協議。比方說,如果你要求這個html文件是index.html http://localhost/index.html。該腳本文件將無法從本地文件系統的服務器,而如果你要求它像這樣file://path/index.html腳本文件會從本地文件系統

0

OKY送達,所以..

SRC屬性將在給定的路徑中查找文件始終是相對的,當您在本地加載網頁時,它將在給定路徑中查找該文件,而不管路徑是本地路徑還是本地路徑一個Web服務器。

的路徑必須是正確的

,並記住,如果你把JavaScript中的腳本標記沿SRC你把上的腳本將無法工作的JavaScript。

0

當SRC值是一個路徑,它會被認爲是本地,也可以是相對路徑或絕對路徑:

相對路徑的例子

  • 文件夾/子文件夾/ file.jpg
  • ../parent_folder/file。JPG

絕對路徑,例如

  • /root/folder/subfolder/file.jpg

當它是遠程的,SRC的價值就會像http://yourappsite.com/route/file.jpg

相關問題