Iframes et référencement

De Wiki.

L'utilisation d'iframes est parfaitement compatible avec le CMS.

On utilise le mot réservé awsiframe pour nommer les iframes dans les sites Adéquat'WEBSITE.


Optimisation du référencement des pages des iframes

Le système est librement inspiré de la gestion facebook des iframes.

Pour chaque page chargée dans l'iframe on met à jour le hash de l'adresse de la page principale.

A chaque événement onLoad de la page principale on compare l'adresse mentionnée dans son hash et celle effectivement chargée dans l'iframe ; et au besoin on recharge la bonne page dans l'iframe.

Pour exemple, les scripts déployés pour le site courant naturel [1].

Script sur le onLoad de la page principale :

function resize_iframe(){	
	sHashUrl = location.hash.substr(1);
 	sIframeUrl = window.awsiframe.document.location.href.replace(/[htps]{4,5}:\/\/[^\/]+/gi,'');
	if (sHashUrl!=""){
		if (sHashUrl != sIframeUrl){
			window.awsiframe.document.location.href = sHashUrl;
		}
	}
	else{
		location.hash = sIframeUrl;
	}
	//find the height of the internal page
	var the_height=getWindowHeight();	   
	//change the height of the iframe
	document.getElementById('awsiframe').height= the_height;
}

Script sur le onLoad des pages de l'iframe :

function checkIframe(){
	var sHomeUrl = "/content/courantnaturel/accueil.php";
	var sCurrentUrl = "/"+getAccessPath();
	
	if (this.document.location.href.indexOf("/content/") > 0){		
		if (this.name == "awsiframe"){
			//todo bene
			if (sHomeUrl != sCurrentUrl){
				window.top.document.location.hash = sCurrentUrl;
			}
		}
		else{
			window.top.document.location.href = "/#"+sCurrentUrl;
		}
	}
	else {
		// on est en backoffice			
	}
}