Credo che usando le espressioni regolari si dovrebbe ottenere una compatibilità a 360°…:
codice:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Documento HTML</title>
<script type="text/javascript">
var getHTML = (function () {
var
sBnd = "\uD834\uDF3E",
rBody = /<\s*body\s*[^>]*>|<\/body>/g,
rClean = new RegExp("^[^" + sBnd + "]*" + sBnd + "|" + sBnd + "[^" + sBnd + "]*$", "g");
function onPageLoaded () {
document.getElementById("esterna").innerHTML = this.responseText.replace(rBody, sBnd).replace(rClean, "");
}
return function (sURL) {
var oReq = new XMLHttpRequest();
oReq.onload = onPageLoaded;
oReq.open("get", sURL);
oReq.send();
};
})();
</script>
<style type="text/css">
#esterna {
width: 500px;
height: 200px;
border: 1px #cccccc solid;
overflow: auto;
}
</style>
</head>
<body>
<p><span style="text-decoration: underline; color: #0000ff; cursor: pointer;" onclick="getHTML('file.html');">Leggi la pagina esterna</span></p>
<p>Il tuo div:</p>
<div id="esterna"></div>
<p>N. B. In quest'esempio ho usato come delimitatore il carattere "팾" (Rappresentazione UTF-16: "\uD834\uDF3E"). Puoi cambiarlo a tuo piacimento, ma qualsiasi cosa scegli deve trattarsi di un <strong>singolo</strong> carattere.</p>
</body>
</html>