将html加载到div而不会丢失js和css

时间:2013-08-23 08:13:12

标签: javascript jquery

我想用自己的stlyesheet加载一个html文件,将js加载到另一个页面的div中。

例如我要加载的html文件将是这样的

<html><head>External syle and js</head><body></body></html>

使用

进入其他html页面的div标记
$("#divID").load("htmlpagename.html");

当我加载html时,它正在丢失css而且我在控制台中出现错误

GET http://localhost:81/projects/js/table.js?_=1377245019877
jquery.min.js (line 6) 404 Not Found  149ms

3 个答案:

答案 0 :(得分:3)

如果您想保留加载页面的全部内容,则需要使用iframe代替。

jQuery .load()文档中获取的信息:

jQuery使用浏览器的.innerHTML属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会过滤文档中的元素,例如html,title或head元素。因此,.load()检索的元素可能与浏览器直接检索文档的内容不完全相同。

如果您决定使用iframe,这可以帮助您:

$("<iframe />").attr("src", "htmlpagename.html").appendTo("#divID"); 

答案 1 :(得分:1)

您可以在html中使用iframe,那么为什么不使用iframe

<html>
<head>
   <!-- Other Head Files and Tags Here -->
</head>
<body>
    <div id="divID">
        <iframe src="htmlpagename.html"></iframe>
    </div>
</body>
</html>

答案 2 :(得分:1)

试试这个:

$('<iframe />').attr('src', 'htmlpagename.html').appendTo('#divID'); 

<强> fiddle