在div中加载html页面

时间:2010-08-25 09:14:28

标签: javascript html dojo

如何在div中加载html页面。有了'object'标签,它正在加载,但我认为这不是一个好方法。它不是外部文件。道场对此有好处吗?

6 个答案:

答案 0 :(得分:12)

使用jquery

$("#mydiv").load("myexternalfile.html");

答案 1 :(得分:3)

我不完全确定您在寻找什么,但如果您希望在另一个HTML文档中显示HTML文档,那么我认为唯一的方法是使用iframe。查看本教程:http://www.designplace.org/tutorials.php?page=1&c_id=1

也许您可以加载HTML文档并删除HEAD并包装BODY元素,然后将代码插入DIV元素。

编辑:啊,你没说iframes。那么,我提出后者。 ^^

答案 2 :(得分:1)

如果没有其他需要框架功能的任务,没有理由只使用jQuery将内容加载到您的页面(例如只加载到一个div):)

这应该通过AJAX基础来完成。 看看这个:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

答案 3 :(得分:1)

这也有效...使用dojo ......

<script type="text/javascript">
var url = dojo.moduleUrl("dijit.form", "help.html");
dojo.xhrGet({
  url: url,
  load: function(html){
       dojo.byId("mycontent").innerHTML = html;
  }
});
</script>

<div id="mycontent">

</div>

<强>更新

在Dojo 1.7+中,使用require.toUrl而不是dojo.moduleUrl

答案 4 :(得分:0)

你必须使用jQuery和load()方法。 这里有关于加载方法的jQuery参考:http://api.jquery.com/load/

答案 5 :(得分:0)

您仍然可以使用jquery通过ajax调用加载内容。获取结果并删除<body>及其前面的所有内容,然后删除</body>及其背后的所有内容。您可以使用正则表达式来确保包含正文标记的任何属性。

然后你留下了原始的主体html,你可以使用jQuery添加到div。

jQuery.ajax({
    url: 'page.html', 
    success: function(data, textStatus, XMLHttpRequest) {
        data = data.replace(/.*<body.*?>/gi,'');
        data = data.replace(/</body>.*/gi,'');
        jQuery('#myDiv').html(data);
    }
});

我的正则表达式有点生疏,所以你可能需要调整一下:)