Bonjour, j'ai une page qui m'affiche des onglets. Le but est que je puisse recharger que le contenu des onglets. Donc pour cela j'ai créé une div dans les onglets, spécifiques pour chacun. Dans cette div, j'ai rajouté une iframe, pour pouvoir appeler un script perl d'une autre page. On a donc une iframe dans une div. Or cette iframe n'affiche pas son contenu.
Par contre si je place l'iframe en dehors de l'onglet, cela marche... Voici la portion de code qui est appelé par la div, donc je créé mon iframe, après c'est là que ça coince, au niveau du noeud, si je mets "body" : l'iframe m'affiche ma page SUPERVISIONserveur, si je mets "getElementById("Affichereponse" )" qui est le nom de ma div, je n'ai rien. if (!document.createElement) { return true };
var IFrameDoc; var URL = '/SUPERVISIONserveur.pl' + theFormName;
if (!IFrameObj && document.createElement) { // Creation de l'IFrame et rattachement a la zone d'identifiant RSIFrame
var tempIFrame=document.createElement('iframe'); tempIFrame.setAttribute('id','RSIFrame'); tempIFrame.style.border='0px'; tempIFrame.style.width='300px'; tempIFrame.style.height='300px'; IFrameObj = document.getElementById("AfficheReponse" ).appendChild(tempIFrame); if (document.frames) { // Specifique IE5 Mac IFrameObj = document.frames['RSIFrame']; } }
if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) { // Specifique NS6 : attendre 1 seconde avant de faire l'appel a callToServer // (le temps au navigateur de reconnaitre la nouvelle IFrame) setTimeout('callToServer(\'\')',10); return false; }
if (IFrameObj.contentDocument) { // Specifique NS6 IFrameDoc = IFrameObj.contentDocument; } else if (IFrameObj.contentWindow) { // Specifique IE5.5 et IE6 IFrameDoc = IFrameObj.contentWindow.document; } else if (IFrameObj.document) { // Specifique IE5 IFrameDoc = IFrameObj.document; } else { return true; }
// Placer le resultat de l'appel a ALERTEserveur dans la page courante (ALERTEclient) IFrameDoc.location.replace(URL); return false;
Marsh Posté le 02-02-2006 à 11:34:04
Bonjour,
j'ai une page qui m'affiche des onglets. Le but est que je puisse recharger que le contenu des onglets. Donc pour cela j'ai créé une div dans les onglets, spécifiques pour chacun.
Dans cette div, j'ai rajouté une iframe, pour pouvoir appeler un script perl d'une autre page. On a donc une iframe dans une div. Or cette iframe n'affiche pas son contenu.
Par contre si je place l'iframe en dehors de l'onglet, cela marche...
Voici la portion de code qui est appelé par la div, donc je créé mon iframe, après c'est là que ça coince, au niveau du noeud, si je mets "body" : l'iframe m'affiche ma page SUPERVISIONserveur, si je mets "getElementById("Affichereponse" )" qui est le nom de ma div, je n'ai rien.
if (!document.createElement) {
return true
};
var IFrameDoc;
var URL = '/SUPERVISIONserveur.pl' + theFormName;
if (!IFrameObj && document.createElement) {
// Creation de l'IFrame et rattachement a la zone d'identifiant RSIFrame
var tempIFrame=document.createElement('iframe');
tempIFrame.setAttribute('id','RSIFrame');
tempIFrame.style.border='0px';
tempIFrame.style.width='300px';
tempIFrame.style.height='300px';
IFrameObj = document.getElementById("AfficheReponse" ).appendChild(tempIFrame);
if (document.frames) {
// Specifique IE5 Mac
IFrameObj = document.frames['RSIFrame'];
}
}
if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) {
// Specifique NS6 : attendre 1 seconde avant de faire l'appel a callToServer
// (le temps au navigateur de reconnaitre la nouvelle IFrame)
setTimeout('callToServer(\'\')',10);
return false;
}
if (IFrameObj.contentDocument) {
// Specifique NS6
IFrameDoc = IFrameObj.contentDocument;
}
else if (IFrameObj.contentWindow) {
// Specifique IE5.5 et IE6
IFrameDoc = IFrameObj.contentWindow.document;
}
else if (IFrameObj.document) {
// Specifique IE5
IFrameDoc = IFrameObj.document;
}
else {
return true;
}
// Placer le resultat de l'appel a ALERTEserveur dans la page courante (ALERTEclient)
IFrameDoc.location.replace(URL);
return false;
Merci de votre aide.