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

Flex Discussion :

ExternalInterface et script timeout


Sujet :

Flex

  1. #1
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut ExternalInterface et script timeout
    Bonjour à tous,

    pour tout un tas de raisons qu'il serait trop long d'expliquer ici, je dois ouvrir une popup du navigateur depuis une application Flex.

    Pour cela, j'utilise ExternalInterface.call de la façon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExternalInterface.call(myscript,  '/popup?xxx=yyy...');
    La variable myscript est un code javascript qui ressemble à ça, les sauts de lignes en moins:
    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
    function(url) {	
    	var l = 286;
    	var t = 160;
     
    	var w = screen.width-l-250;
    	var h = screen.height-t-115;
     
    	if (window.showModalDialog) {
    		window.showModalDialog(url,'', 'dialogLeft:'+l+'px;dialogTop:'+t+'px;dialogWidth:'+w+'px;dialogHeight:'+h+'px;resizable:no;status:no;unadorned:yes');
    	} else {
    		var options = 'width='+w+',height='+h+',left='+l+',top='+t+',directories=no,location=no,menubar=no,resizable=no,scrollbars=yes,status=no,titlebar=no,toolbar=no,modal=yes';
    		var p = window.open(url, '_blank', options);
    		p.focus();
    	}
    }
    ... ce qui fonctionne bien

    Là où j'ai un problème, c'est que l'utilisateur garde cette popup ouverte un certain temps, qui dépasse facilement la valeur du "script timeout" définie, et je prend (à la fermeture de la popup) une exception "error 1502: A script has executed for more than 15 seconds".

    Ce qui n'est pas marrant, c'est que la stacktrace n'est absolument pas la même à chaque fois (l'erreur remonte d'un peu n'importe où), et un try/catch autour de mon appel n'aide donc pas du tout... et parfois, en fonction de où remonte l'erreur, ça freeze complètement mon appli Flex et/ou fait planter le player Flash...

    Comment peut-on faire pour s'affranchir de ce problème?

    Merci d'avance!
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    le problème vient du showModalDialog, qui est bloquant. Avec window.open, pas de souci (mais impossible de faire une popup modale qui fonctionne)
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    en wrappant le tout dans un settimeout, ça marche parfaitement avec showModalDialog
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Timeout sur un script
    Par Arnaud_B dans le forum Flash
    Réponses: 2
    Dernier message: 26/02/2007, 16h20
  2. Server Script TimeOUT
    Par pmboutteau dans le forum ASP
    Réponses: 7
    Dernier message: 04/01/2007, 15h03
  3. Problèmes de timeout pour un script PHP avec Apache
    Par bluemartini dans le forum Apache
    Réponses: 2
    Dernier message: 11/07/2006, 16h16
  4. modifier le timeout d'un seul script!
    Par stoyak dans le forum Langage
    Réponses: 11
    Dernier message: 19/06/2006, 18h11
  5. timeout script PHP
    Par sohnic dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 08h58

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