我该如何在一个div内加载HTML页面?使用“object”标签可以加载,但我认为这不是一个好的方法。这不是外部文件。使用dojo是否可行?
我该如何在一个div内加载HTML页面?使用“object”标签可以加载,但我认为这不是一个好的方法。这不是外部文件。使用dojo是否可行?
使用 jQuery
$("#mydiv").load("myexternalfile.html");
HTML
、HEAD
和 BODY
?如果是这样的话,那么这将是一个相当优雅的解决方案。比手动插入要好得多。 - gabliniframe
。请查看这个教程:http://www.designplace.org/tutorials.php?page=1&c_id=1
也许你可以加载HTML文档并剥离HEAD
和包装BODY
元素,然后将代码插入到DIV
元素中。iframes
。那么我建议采用后者。^^这也可以用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。
如果没有其他需要框架功能的任务,加载内容到页面(例如仅限于一个div)没有理由使用jQuery :)
这应该使用AJAX基础知识完成。 看看这个:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
<body>
标签及其前面的所有内容和</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);
}
});
我的正则表达式有点生疏,所以你可能需要稍微调整一下 :)