2015-01-26 60 views
0

我創建了一個有很多HTML頁面的項目(沒有後端服務器),爲了避免大量輸入,我想通過include包含所有導航菜單(頂部和側面) 。所以我使用下面的代碼。服務器端HTML包括並不總是工作

我使用Visual Studio(作爲榮耀的文本編輯器),當我從Visual Studio啓動IE瀏覽器,一切運作正常。當我直接瀏覽文件並使用IE打開時,navigation.html文件未加載。

我能看到的唯一區別是,當開始形成VS,URL爲「http://localhost:60282/pages/index.html」,而不是像「C:\用戶.. \ index.html的」

我卡住,並會真的很感激挖掘。

謝謝。

<!-- Navigation --> 
<div id="nav-place-holder"></div> 
<!-- jQuery --> 
<script src="http://code.jquery.com/jquery-1.10.2.js"></script> 

<script> 
$(document).ready(function() { 
    $('#nav-place-holder').load("navigation.html"); 
}); 
</script> 
+0

*「當我直接瀏覽文件並使用IE打開時,navigation.html文件未加載。」*不要這樣做。當你在網上實時使用這些代碼時,你將不會使用本地文件路徑訪問它,你將使用一個知道如何正確響應ajax請求的web服務器。 (或者,如果情況並非如此,並且要在文件系統上使用,請準備好將該標題直接輸入到所有html文件中) – 2015-01-26 21:11:21

+0

打開您的IIS並創建一個網站。將網站指向您的項目文件夾。如果你的網站是純粹的HTML,那麼你不應該擔心IIS池設置等等...在IIS上託管你的站點將允許你通過本地主機瀏覽你的站點:ThePortYouHaveSetInIIS – 2015-01-26 21:13:39

+0

你的瀏覽器無法訪問本地文件系統(因爲明顯的安全原因),所以你應該通過一個(本地)webserver服務那個'navigation.html'文件,這正是VS正在做的事情,由路徑中的'localhost'來判斷。 – Pevara 2015-01-26 21:16:37

回答

0

你必須在瀏覽器的控制檯戰利品和XHR記錄(網絡相關)。最有可能的​​根本無法找到您的navigation.html文件。

我猜想,​​應該尋找在根文件夾的文件,例如:

$('#nav-place-holder').load("/navigation.html");

另一個可能的原因是與安全相關的。正如在Pevara的評論上正確說明的那樣,您的瀏覽器根本無法訪問該文件。

據我所知,有在谷歌瀏覽器一些安全設置歌劇院可能被調整了工作,在你的問題。

  1. 在谷歌瀏覽器,你必須在運行它--allow-file-access-from-files使用選項參數,例如:"C:\Documents and Settings\User\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files
  2. 在Opera中,您必須設置標誌Allow File XMLHttpRequest在用戶偏好opera:config

可能有在IE選項,以及。

+0

感謝您的回答。我不確定問題是否屬於我的安全設置等。或者僅僅是這個AJAX方面將永遠需要一個Web服務器來運行?我打算在沒有網絡服務器的筆記本電腦上使用原始HTLM作爲演示。但也許這是不可能的。 – 2015-01-27 10:36:49