11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Sur un site j'ai mis une pop-up dans le but d'afficher des adresses.
Il m'a paru plus ergonomique que la fenêtre se ferme toute seule lorsque l'utilisateur revient sur la fenêtre principale.
Ce qui donne :
a écrit :
window.onblur = fermer;
function fermer()
{
window.close();
}

et est compatible avec plusieurs navigateurs (IE, Opera, Firefox).

Problème : j'ai voulu ajouter un bouton "imprimer", et là impossible : le fenêtre se ferme !
En effet, un clic sur un bouton ou un div déclenche l'événement "Blur" !

J'ai essayé de jouer avec document.activeElement, mais d'une part ça ne fonctionne qu'avec IE, et même avec IE je n'arrive pas à grand chose
Bonsoir,

Je te suggère la chose suivante : à chaque bouton / zone de formulaire / lien qu'il y a dans ta popup, tu associes une fonction onfocus/onblur, dans le style de celle-ci :


function elementFocused () {
mavar = true;
}
function elementDefocused () {
mavar = false;
}


En ensuite, pour le onblur de window :

window.onblur = function () {
if (!mavar) window.close();
}


C'est pas garanti que ça marche, j'ai écrit le code en live sans avoir testé.
Bonjour Quentin,

J'ai pas encore testé mais ton idée m'a l'air géniale.
Je te ferai savoir si ça marche ou pas Smiley cligne

Merci.

PS : super ton site.
Bonjour,
Je ne connais absolument rien du langage javascript; ça m'arrive d'utiliser des exemples tout prets que je suis incapable de modifier mais qui fonctionnent en l'état.
Je recherche une solution pour effacer des fenetres popups ouvertes dans une page quand on affiche une nouvelle page.
J'ai un exemple
http://www.collias-vacances.com/test/pages/choix_fr.html

explications:
si je clique sur le bouton "tourisme", la page s'affiche, mais si je clique directement sur un autre bouton, la nouvelle fenetre est invisible sous la fenètre "tourisme" qui est restée active.
J'ai posé une question concernant ce problème dans la rubrique "SAV",
mais en cherchant, j'ai trouvé votre exemple qui me semble correspondre à mon souhait.
Le hic, c'est que je ne sais pas comment mettre en oeuvre les sources fournies.
Avez-vous un exemple concret que je puisse essayer d'adapter ?

merci de votre réponse
Modifié par helvetdulac (12 Mar 2006 - 17:26)