J'ai reçu une réponse d'ailleurs. En gros, il inclut toute la page (pas seulement le corps) mais IE choisit de ne pas le rendre (probablement le comportement correct)
J'ai donc élaboré un code pour extraire le CSS, le placer dans la tête et placer le trucs de corps dans la cible div. Donc, à la fois html et css de la page externe serait obtenu.
<html><head>
<script type="text/javascript" language="javascript">
function include(lyr,url)
{
if (document.all)
{
try {
var xml = new ActiveXObject("Microsoft.XMLHTTP");
xml.Open("GET", url, false);
xml.Send()
}
catch (e) {
var xml = new ActiveXObject("MSXML2.XMLHTTP.4.0");
xml.Open("GET", url, false);
xml.Send()
}
}
else
{
var xml=new XMLHttpRequest();
xml.open("GET",url,false);
xml.send(null);
}
text = xml.responseText;
text = text.replace("<html>","");
text = text.replace("</html>","");
text = text.replace("<head>","");
text = text.replace("</head>","");
text = text.replace("<body>","");
text = text.replace("</body>","");
splittext = text.split("<style type=\"text/css\">");
splittext = splittext[1].split("</style>");
css = splittext[0];
everythingelse = splittext[1];
addCss(css);
document.getElementById(lyr).innerHTML=everythingelse;
}
function addCss(cssCode) {
var styleElement = document.createElement("style");
styleElement.type = "text/css";
if (styleElement.styleSheet) {
styleElement.styleSheet.cssText = cssCode;
} else {
styleElement.appendChild(document.createTextNode(cssCode));
}
document.getElementsByTagName("head")[0].appendChild(styleElement);
}
</script>
</head>
<body onload="include('adiv','test.htm')">
<div id="adiv">sdfgboui hsdguhwruh o ikuy </div>
</body>
</html>
Le code est loin d'être parfait, mais il fait le travail et je vais probablement améliorer le bit de code à peu maintenant que je sais que cela fonctionne
S'il vous plaît montrer un peu de code. –
Je ne pensais pas que montrer du code ajouterait quelque chose d'utile à la question. Le code que j'écrivais n'existe plus car il a été remplacé par une tentative d'obtenir le même résultat en utilisant un iframe caché. – MrVimes
Je suppose que je pourrais vous humour si. – MrVimes