Il y a des années (2003, je crois), j’ai pondu un site pour des amis : http://gitebeaugendre.free.fr
Vu le caractère du site, j’avais opté pour le faire apparaître dans un popup, sur action de l’utilisateur.
Mais étant conscient du fait que les popup-killers étaient de plus en plus présents, et avaient parfois la main lourde, j’ai prévu qu’en cas de fermeture du popup dans les 2,5 secondes, le site chargerait dans une iframe. Vous pouvez tester cela en ligne.
var bg
function popupdetect(){
if (bg.closed){
window.location.href="bg_htm/site_container.htm";
}
}
function MM_openBrWindow() {
window.open('bg_htm/__site__.htm','bg','width=720,height=480')
bg = window.open('bg_htm/__site__.htm','bg','width=720,height=480')
setTimeout("popupdetect()",2500);
Tout à bien fonctionné pendant des années, et aujourd’hui, le comportement est encore correct sous Chrome, Firefox, IE7, mais les amis me signalent que dans certains cas les utilisateurs se plaignent de ne pas pouvoir accéder au site. Visiblement, IE (8?)tuerait le popup, mais n’exécuterait pas la suite.
Alors voilà le problème : depuis 6 ans, je n’ai pas fait une ligne de JS, et j’ai franchement très peu de temps pour m’y remettre ou installer tous les browsers pour voir où cela cloche. Donc …
Avez-vous le problème chez vous ? Sous quelle config ?
Auriez vous une idée pour me permettre de régler le problème ? Je sais qu’il y a toujours la solution d’ouvrir d’office le site dans l’iframe. Ce serait radical et je le ferai si il n’y a pas d’autre solution.
mmmh, moi à ta place je virerais carrément la pop-up, et je chargerais le site site normalement dans le navigateur (pourquoi tu le mets dans une iframe d’ailleur?).
Ca serai plus propre, moins galère pour le référencement (lien javascript = galère) et tu te prendrais plus la tête avec les anti popup et t’aurais plus à mettre à jours à chaque fois qu’un navigateur change sa politique en matière de blocage.
Je sais, je sais, mais le fait est que j’ai conçu le site ainsi. A l’époque, c’était dans le cadre d’un cours, et je m’étais fixé cela comme défis personnels (vu la nature du site, ce n’était pas un problème) : tout le site devait tenir dans un ‹ écrin ›, la fenêtre popup. Je devais donc penser l’ensemble des pages, du design, de la navigation dans une seule fenêtre non scrollable. L’état naturel du site est donc d’être seul dans son popup. En cas d’échec du popup, le plan B était de placer le site au milieu d’une page blanche. Pour cela, j’ai choisi l’iframe.
L’année prochaine, j’espère avoir le temps de recréer un site plus modèrne et dynamique (probablement basé sur un cms, je n’ai plus trop le temps de tout coder à la main…). Mais en attendant, je veux pouvoir, en une ou deux heures, rétablir le fonctionnement du site (par exemple en identifiant les navigateurs chafouins et en évitant le popup pour eux). Ou au pire, skipper le popup pour tout le monde.
Moi je verrais bien un index.html pour ta première page, qui pointerait vers default.html ou entree.html ou main.html en cliquant sur le lien.
Pour mettre le site au milieu, bah un div avec les marges qui vont bien, et hop!