IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ouverture popup avec JScript


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Novembre 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Ouverture popup avec JScript
    Bonsoir à tous,

    Je suis "novice" en Javascript et je face à un souci avec l'ouverture des popups. Je vous explique : j'ai créé plusieurs fichiers html qui font eux-même appel à une fonction Javascript "DisplayImg" pour l'ouverture d'une image en popup. Cette dernière permet d'ajuster la fenêtre en fonction de l'image à afficher. Voici la fonction en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    function displayImg(cheminImage, texte, hotspotName,highlightRowId)
      {
     
     
    	if (!(typeof highlightRowId === "undefined" || highlightRowId=="")){
    		highlightRowById(highlightRowId,"tr");
    	}else{
    		if(!(typeof hotspotName === "undefined" || hotspotName=="")){
    			highlightRowById("rep"+('000' + hotspotName).slice(-3),"tr",6);
     
    		}else{
    			highlightRowById("","tr");
    		}
    	}
     
    	newImage = new Image;
    	newImage.src = cheminImage;
     
    	if (cheminImage.lastIndexOf(".")>1)
    	{
    		extImage = cheminImage.substring(cheminImage.lastIndexOf(".")+1).toLowerCase();
    		if (extImage.toLowerCase() == 'cgm' || 1)
    		{
    			heightWindow = screen.availHeight-100;
    			widthWindow = screen.availWidth-300;
    			var mTitre=cheminImage.substring(cheminImage.lastIndexOf("/")+1).toUpperCase();
    			mTitre=mTitre.substring(0,mTitre.lastIndexOf("."));
    			var mHeightWindow = heightWindow - 50;
    			html = '<!DOCTYPE html><html><head><title>' + mTitre + '</title></head><body><img src="' + cheminImage.toUpperCase() + '" height="' + mHeightWindow + 'px" /></body></html>';
    		} else {
    			if ((screen.availWidth/screen.availHeight) < (newImage.width/newImage.height))
    			{
    				//ajuste sur la largeur
    				reduc = (0.9*screen.availWidth)/newImage.width;
    			} else {
    				//ajuste sur la hauteur
    				reduc = (0.9*screen.availHeight)/newImage.height;
    			}
    			heightWindow = Math.floor(reduc*newImage.height);
    			widthWindow = Math.floor(reduc*newImage.width);
    			html = '<html><head>'
    			+ '<title>' + texte + '</title></head><BODY leftmargin="0" marginwidth="0" topmargin="0" marginheigth="0" ><CENTER>'
    			+ '<div><img align="middle" border="1" src="' + cheminImage + '" width="100%" height="100%" />' 
    			+ '</div></CENTER></BODY></html>'; /*oncontextmenu="return false"*/
    		}
    	} else {
    		alert("Erreur chemin image");
    		return;
    	}
     
    	///if (fois == 1 ) ouvrirImage.close();
    	if (!(typeof ouvrirImage === "undefined" || ouvrirImage=="")) 
    	{
    		try{
    			ouvrirImage.loadCGMselectHotspot(cheminImage,hotspotName); 
    			ouvrirImage.document.title=texte;
    		}catch(err){
    			ouvrirImage=undefined;
    		}
    	}
     
    	if (typeof ouvrirImage === "undefined" || ouvrirImage=="")
    	{		
    		topWindow = Math.floor((screen.availHeight-heightWindow-30)/2);
    		leftWindow = Math.floor((screen.availWidth-widthWindow)/2);
    		ouvrirImage = window.open('','','scrollbars=yes,toolbar=0,location=0,menuBar=0,height='+heightWindow+',width='+widthWindow+',left='+leftWindow+',top='+topWindow+',resizable=1');
    		ouvrirImage.document.write(html);
    		fois = 1;
    	}
    	return;
      }
    Avec une vieille version de Edge, cela fonctionne sans problème. Avec les autres (Edge dernière version ; Chrome ; ...) l'ouverture d'une image en popup fonctionne bien ; mais si je la ferme, puis en ouvre une autre sur le même html (sans l'actualiser), rien ne se passe.

    Y a-t-il une meilleure solution pour l'ouverture des images, ou une simplification du JS pour le rendre compatible de tous les navigateurs ?

    Je vous remercie par avance,

    Guillaume

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    l'ouverture d'une vraie popup n'est plus très bien vue.
    il vaut mieux ouvrir l'image dans une "popup virtuelle" comme ici par exemple :
    http://fancyapps.com/fancybox/3/

Discussions similaires

  1. Ouverture d'une popups avec un <form en plein centre de l'ecran
    Par mecmec dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/06/2007, 19h07
  2. Réponses: 6
    Dernier message: 24/01/2007, 16h34
  3. ouverture popup avec un paramètre => variable php
    Par gmonta31 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2006, 08h59
  4. Ouverture d'une popup avec affichage d'information
    Par leloup84 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/02/2006, 19h53
  5. ouverture de popup avec parametres
    Par numeror dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/12/2005, 08h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo