Bonjour,
Merci pour votre site, cela donne beaucoup d'idées et répond à beaucoup de questions.
Je débute en javascript ...
Je sais que ce problème est courant après de nombreuses heures de recherches mais les solutions proposées ne correspondent pas à mes attentes (je n'ai pas trouvé en tout cas). Voici le problème :
J'ai une page Web qui contient des ancres et aussi, en bas de page, une iframe qui vole le focus. (Une page d'exemple en fin de message pour tester)
Ainsi, après le chargement de la page, le lecteur se retrouve en bas de page.
scrollTo() après chargement ne résout pas le problème car sinon je perds mes ancres.
blur(), focus({preventScroll:true}) ne résolvent pas le problème.
Dans différents forums on propose de modifier le focus après chargement de la page mais là encore, je perds mes ancres.
document.activeElement après le chargement de la page me renvoie l'iframe et dans l'iframe, le tag de l'élément actif me donne BODY.
Je voudrais donc savoir s'il existe une solution javascript pour retirer le focus d'une iframe ou, au moins, changer l'ordre des focus ?
Voici une page pour tester le problème :
Modifié par WillEC (06 Mar 2020 - 16:45)
Merci pour votre site, cela donne beaucoup d'idées et répond à beaucoup de questions.
Je débute en javascript ...
Je sais que ce problème est courant après de nombreuses heures de recherches mais les solutions proposées ne correspondent pas à mes attentes (je n'ai pas trouvé en tout cas). Voici le problème :
J'ai une page Web qui contient des ancres et aussi, en bas de page, une iframe qui vole le focus. (Une page d'exemple en fin de message pour tester)
Ainsi, après le chargement de la page, le lecteur se retrouve en bas de page.
scrollTo() après chargement ne résout pas le problème car sinon je perds mes ancres.
blur(), focus({preventScroll:true}) ne résolvent pas le problème.
Dans différents forums on propose de modifier le focus après chargement de la page mais là encore, je perds mes ancres.
document.activeElement après le chargement de la page me renvoie l'iframe et dans l'iframe, le tag de l'élément actif me donne BODY.
Je voudrais donc savoir s'il existe une solution javascript pour retirer le focus d'une iframe ou, au moins, changer l'ordre des focus ?
Voici une page pour tester le problème :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>TEST</title>
<script>
//Quelque chose ici ?
</script>
</head>
<body>
<h1>Problème de focus sur iframe</h1>
<div class="sommaire" style="text-align:center;">
<a href=#poeme1 target="_blank"> Poème 1</a><br/>
<a href=#poeme2 target="_blank"> Poème 2</a><br/>
<a href=#poeme3 target="_blank"> Poème 3</a><br/>
</div>
<div id="poeme1" class="poeme" style="width:30%;">
<h1> Poème 1 </h1>
<p>Souvent, pour s’amuser, les hommes d’équipage
Prennent des albatros, vastes oiseaux des mers,
Qui suivent, indolents compagnons de voyage,
Le navire glissant sur les gouffres amers.</p>
<p>A peine les ont-ils déposés sur les planches,
Que ces rois de l’azur, maladroits et honteux,
Laissent piteusement leurs grandes ailes blanches
Comme des avirons traîner à côté d’eux.</p>
<p>Ce voyageur ailé, comme il est gauche et veule !
Lui, naguère si beau, qu’il est comique et laid !
L’un agace son bec avec un brûle-gueule,
L’autre mime, en boitant, l’infirme qui volait !</p>
<p>Le Poète est semblable au prince des nuées
Qui hante la tempête et se rit de l’archer ;
Exilé sur le sol au milieu des huées,
Ses ailes de géant l’empêchent de marcher.</p>
Charles Baudelaire
</div>
<div id="poeme2" class="poeme" style="width:30%;">
<h1> Poème 2 </h1>
<p>Souvent, pour s’amuser, les hommes d’équipage
Prennent des albatros, vastes oiseaux des mers,
Qui suivent, indolents compagnons de voyage,
Le navire glissant sur les gouffres amers.</p>
<p>A peine les ont-ils déposés sur les planches,
Que ces rois de l’azur, maladroits et honteux,
Laissent piteusement leurs grandes ailes blanches
Comme des avirons traîner à côté d’eux.</p>
<p>Ce voyageur ailé, comme il est gauche et veule !
Lui, naguère si beau, qu’il est comique et laid !
L’un agace son bec avec un brûle-gueule,
L’autre mime, en boitant, l’infirme qui volait !</p>
<p>Le Poète est semblable au prince des nuées
Qui hante la tempête et se rit de l’archer ;
Exilé sur le sol au milieu des huées,
Ses ailes de géant l’empêchent de marcher.</p>
Charles Baudelaire
</div>
<div id="poeme3" class="poeme" style="width:30%;">
<h1> Poème 3 </h1>
<p>Souvent, pour s’amuser, les hommes d’équipage
Prennent des albatros, vastes oiseaux des mers,
Qui suivent, indolents compagnons de voyage,
Le navire glissant sur les gouffres amers.</p>
<p>A peine les ont-ils déposés sur les planches,
Que ces rois de l’azur, maladroits et honteux,
Laissent piteusement leurs grandes ailes blanches
Comme des avirons traîner à côté d’eux.</p>
<p>Ce voyageur ailé, comme il est gauche et veule !
Lui, naguère si beau, qu’il est comique et laid !
L’un agace son bec avec un brûle-gueule,
L’autre mime, en boitant, l’infirme qui volait !</p>
<p>Le Poète est semblable au prince des nuées
Qui hante la tempête et se rit de l’archer ;
Exilé sur le sol au milieu des huées,
Ses ailes de géant l’empêchent de marcher.</p>
Charles Baudelaire
</div>
<iframe class="embTrinket" src="https://trinket.io/embed/python/7de56c7654" width="100%" height="600" frameborder="0" marginwidth="0" marginheight="0" allowfullscreen ></iframe>
</body>
</html>
Modifié par WillEC (06 Mar 2020 - 16:45)