2013-05-29 139 views
2

我想加載一個本地HTML文件到div,但它似乎工作(警報顯示,但沒有內容顯示到頁面)。加載本地html文件到div

HTML:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <script src="http://code.jquery.com/jquery-1.9.1.js"></script>     
     <script type="text/javascript" src="test.js"></script> 
    </head> 

    <body> 
     <div id="blog"></div> 
    </body> 
</html> 

使用Javascript(test.js):

$(document).ready(function(){ 
     $("#blog").load("tester.html", function() { 
      alert('Load was performed.'); 
     }); 
}); 

加載HTML文件(tester.html):

<p> 
    The word <strong>hello</strong> should be bold. 
</p> 
+0

是你#blog網格可見?它有寬度和高度? – DontVoteMeDown

回答

7

SOP(同源政策)
這不會在
嘗試在Firefox本地主機或在線服務器

AJAX不能從file://http://

+2

感謝它在FF中的工作。我一直對此感到沮喪。 – Mushy

+0

我不認爲這是一個錯誤。這只是一種愚蠢的實現。 – crush

+0

@我相信你,我也有些頭痛。不客氣 –

3

工作,我不知道你爲什麼這樣做,但我嚴重不推薦。由於安全原因,瀏覽器禁止這種行爲,您無法從文件系統加載內容。

如果您正在測試,使用像xampp財產以後是很容易成立。它也將更真實地反映網站的工作方式。 如果你真的想把它用作真正的網頁,我建議你以另一種方式來搜索。

+0

1.不正確。 2.創建AJAX驅動的網站有什麼不對? –

+3

@ RokoC.Buljan - 1.是的。 2.很多,但這不是建議這個答案(這是試圖通過'file://'而不是'http://'來執行Ajax)。 – Quentin

+0

Ajax網站rock,我使用angularjs自己創建webapps。我不建議加載本地文件,不是瀏覽器功能,也不是真正的用例 – donnanicolas

-1

其實,如果你只想做一個像一個測試,我建議你可以使用相對路徑來引用圖像。例如:

cp ~/1.png ~/Workspace/html/app/1.png 
vim ~/Workspace/html/app/test.html 

<!DOCTYPE html> 
<html> 
    <head lang="en"> 
     <meta charset="UTF-8"> 
     <title></title> 
    </head> 
    <body style="border-radius: 5px; border: 0px;"> 
     <img src="test.jpg"> 
    </body> 
</html>