2013-05-29 144 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>