简体   繁体   中英

loading html page inside div

how can I load an html page inside a div. With the 'object' tag it's loading, but I think it's not a good approach. It is not an external file. Is dojo good for this?

使用jquery

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

I'm not completely sure what you're looking for, but if you're wishing to display an HTML document inside another HTML document then I think the only way to do this is to use an iframe . Check out this tutorial: http://www.designplace.org/tutorials.php?page=1&c_id=1

Perhaps you could load the HTML document and strip away the HEAD and wrapping BODY elements and then insert the code into the DIV element.

EDIT: Ah, no iframes you said. Well, then I propose the latter. ^^

No reason to use jQuery just to load content to your page (eg only to one div) if there is no another tasks which need framework's functions :)

This should be done with AJAX basics. Check this out: http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

This also works... using 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>

Update:

In Dojo 1.7+, use require.toUrl instead of dojo.moduleUrl

You have to use jQuery with load() method. Here jQuery reference about load method: http://api.jquery.com/load/

You can still use jquery to load the content through an ajax call. Take the result and delete <body> and everything before it, and </body> and everything behind it. You can use regex to make sure you include any attributes of the body tag.

Then you're left with the raw body html, which you can add to the div using jQuery.

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

My regex is a bit rusty so you might have to tweak that :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM