2016-02-03 46 views
2

我將爲將在本地計算機上運行它的學生分享HTML格式的課程。比方說,學生在桌面上複製了學習文件夾。並執行它。地址欄看起來像這樣。如何在沒有服務器的情況下運行html時將文件夾設置爲根路徑

file:///C:/Users/Student1/Desktop/study/reading/step3/001.html 

我的style.css文件

<link rel="Stylesheet" href="study/css/style.css" /> 

當我運行該文件,我得到這個錯誤

001.html:9 GET file:///C:/Users/David/Desktop/study/reading/step3/css/style.css net::ERR_FILE_NOT_FOUND 

當我嘗試加載從這樣

根路徑的CSS
<link rel="Stylesheet" href="/study/css/style.css" /> 

我得到這個錯誤

001.html:9 GET file:///C:/study/css/style.css net::ERR_FILE_NOT_FOUND 

有超過400個html文件和80個文件夾。爲每個文件夾中的每個文件指定.css和.js文件需要3個多小時。我想爲每個文件設置一個根路徑,而不管它們在哪個文件夾中。所以,基本上設置文件夾研究的根路徑,如果該文件是從

d加載之後:\下載\學習\英語\雅思\學習\學術\讀\ practice_test \ 003.html

使用<link rel="Stylesheet" href="/study/css/style.css" /> CSS應該從

d加載:\下載\學習\英語\雅思\學習\ CSS \

如果文件是從

C的裝填:\用戶\ Student1 \桌面\學習\學術\讀\ practice_test \ 003.html

使用<link rel="Stylesheet" href="/study/css/style.css" /> CSS應該從

加載

C:\用戶\ Student1 \桌面\學習\ CSS \

我是否apprecia瞭解如何將研究文件夾設置爲根路徑的任何反饋。

回答

2

在提供路徑時,您需要使用../來從當前目錄中提取目錄。試試這個:

<link rel="stylesheet" href="../../study/css/style.css" /> 
+0

感謝您的回覆。對不起,我的問題不是很詳細。當study/master/academic/reading/practice_test/003.html中的html文件時,我將需要使用'../../../../ css/style.css'我無法爲每個文件,因爲有超過80個子文件夾和超過400個HTML文件。 – david83

+0

恐怕沒有其他選擇了。您不能在本地文件系統上設置絕對的''url,因爲每臺計算機的文件結構都不相同。 –

+0

當我使用''它正確地加載了一個js文件,但我無法將這一行添加到400個文件中。那麼javascript呢?是不是可以使用JavaScript設置基礎href?我可以將它添加到其中一個js文件中,並且所有的html文件都會加載它。 – david83

2

我假設001。HTML是學習文件夾,您有一個名爲CSS在研究文件夾中的文件夾這樣的話你的路徑應該是:

<link rel="stylesheet" href="css/style.css" /> 

所以HTML是在學習/閱讀/步驟3 /和CSS低於在學習/ CSS/

所以你的鏈接將

<link rel="stylesheet" href="../../css/style.css" /> 

如果你想使用一個單一的路徑,無論你就必須從本地服務器在計算機上運行的文件,如WAMP或XAMPP這樣什麼如果您的根文件夾是研究 您可以訪問您的css文件夾中的任何地方文件夾中:

<link rel="stylesheet" href="/css/style.css" /> 
+0

請注意,HTML在'study/reading/step3 /'中,CSS低於'study/css /' –

+0

@RoryMcCrossan。我編輯過。立即試用 –

+0

我編輯了我的問題。是不是可以使用JavaScript設置根路徑? – david83

0

這個問題似乎已經出現,因爲文件被寫入/測試使用的服務器在那裏同樣<link rel="stylesheet" href="/css/style.css" />環節的工作,因爲他們從一個服務器來的。從技術上講,這種鏈接是一個絕對路徑的相對URL(它不是絕對URL)。學生的機器上出現問題,因爲他們沒有使用服務器。

潛在的解決方案包括

  1. 改寫閱讀材料,以便它不使用絕對路徑。執行此操作的常用技巧是將圖像,腳本,CSS等資源文件放置在HTML文件的子文件夾中。但是這將涉及HTML包下載的現有結構的重大更改。

  2. 另一種方法是讓學生在他們的機器上運行服務器,例如運行在node.js上的靜態快速服務器。學生必須將HTML文件下載到他們機器上的特定文件夾,並使用localhost地址訪問材料。雖然比下載一個壓縮的電子書稍微複雜一點,但我認爲這些是IT學員可以學會如何安裝本地服務器,但也許不是!

相關問題