2016-09-16 51 views
0

我有一個文檔位於http://localhost:8081/developScript src和Link rel中的相對路徑不斷解析爲根URL

index.html,位於http://localhost:8081/develop/index.html包含以下內容:

<html> 
    <head> 
     ... 
     <link rel="stylesheet" href="./styles.min.css"> 
     <script src="./bower_components/jquery/dist/jquery.js"></script> 
     <script src="./bower_components/moment/min/moment-with-locales.js"></script> 
     <script src="./bower_components/elessar/dist/elessar.js"></script> 
     <script src="./bower_components/EventSource/eventsource.js"></script> 
     ... 
    </head> 
    <body> 
     ... 
    </body> 
</html> 

所有文件的開始與./,告訴它要尋找他們在當前目錄中的瀏覽器,例如:<script src="./bower_components/jquery/dist/jquery.js"></script>應該分解成http://localhost:8081/develop/bower_components/jquery/dist/jquery.js。這很明顯。

但它沒有。相反,他們正在解析爲http://localhost:8081/bower_components/jquery/dist/jquery.js,在控制檯中投擲大量錯誤。

enter image description here

同樣的事情會發生,如果不是在文件的開頭使用./,我會刪除第一個斜槓:<script src="bower_components/jquery/dist/jquery.js"></script>也解析爲http://localhost:8081/bower_components/jquery/dist/jquery.js

這感覺就像一個非常基本的問題,但我真的需要這些文件具有相對路徑,並且這些路徑按預期工作。那爲什麼不是他們呢?

+0

你可以分享什麼是DOCTYPE,或者你可以嘗試改變DOCTYPE嗎?如果我沒有錯,那麼'。/'適用於非嚴格的DOCTYPE。 – Shubh

+0

這與JS無關。檢查你的本地服務器配置... –

+0

@Shubh'<!DOCTYPE html>' –

回答

1

原因可能是頭部標記爲<base href="/">

+0

很久以前發生過這種情況,但我仍然記得幾個月後,我發現它確實是因爲這個原因。 –