5568 sujets

Sémantique web et HTML

Bonjour à tous.
Je viens solliciter votre aide car j'ai un souci avec une Iframe (oui je sais les Iframes c'est pô bien) et ca fait plusieurs jours que je cherche mais en vain.
Donc j'ai sur mon site une Iframe dans laquelle j'affiche mon forum.
Pour que l'Iframe s'adapte au contenu, j'utilise un truc du genre:

HTML: <iframe id="frames" name="frames"
src="http://www.logiktribe.free.fr/.../index.php" scrolling="no"
marginwidth="0" marginheight="0" frameborder="0"
style="overflow:hidden; width:950px;display:auto"></iframe>


Javascript: <script type="text/javascript">
//<![CDATA[

var iframeids=["frames"]
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])

if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
//]]>
</script>


En fait ca marche bien que quand je change de rubrique, alors que pour certaines actions, le bas du forum se retrouve masqué.
Pour vous faire une idée du problème je vous invite à visiter mon forum:
http://www.logiktribe.free.fr/spip.php?article4
Login: testeur / mdp: 000000
Entrez dans n'importe quelle rubrique, cliquez sur NOUVEAU FIL DE DISCUSSION, puis en bas de la page sur OPTIONS SUPPLEMENTAIRES.
ET voilà le résultat... Smiley cry
Je pense que ca vient du fait que la page n'est pas rafraichie à chaque click, mais seulement quand on change de rubrique.

Voilà j'éspère que j'ai été clair dans mes explications.
Moi je butte vraiment et j'ai exploré tellement de pistes (toutes infructueuses) que je sais vraiment plus quoi faire.
Je vous remercie d'avance et vous dis à bientôt.[/i][/i][/i]
Modifié par Drone (20 Apr 2007 - 07:56)
Le plus adapté ici serait sans doute de se passer de l'iframe. Tu devrais avoir la possibilité de modifier les templates de ton forum pour obtenir le même design global que sur le reste du site.

C'est un peu plus compliqué à mettre en place, mais au moins ça te fera des URL distinctes pour les marque-pages des utilisateurs, par exemple.
Tu as certainement raison, mais ca va être horriblement long...
Je suis déjà allé bidouiller dans le Template, et j'ai trés vite abandonné tellement ca ma causé des problèmes dans tous les sens.
Et puis je l'aime bien moi ce Design.

En tout les cas je continue de chercher.
Je suis persuadé que j'en suis pas loin et que ca doit être possible.
Et puis j'en suis plus à un jour prés.

Naturellement si quelqu'un a trouvé la solution Smiley biggrin .