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 :

tester le titre d'une fenêtre retourne Permission refusée


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par défaut tester le titre d'une fenêtre retourne Permission refusée
    Hello forum !!

    Voilà... Je me démène depuis 1 semaine à tenter de mettre en place un système de paiements avec Paypal, en relation avec un site en Flash.

    Au final, après maints tests en vain, la solution que j'ai esquissée ressemble à ça :

    Flash appelle une fonction JS dans la page html de base, qui elle-même va s'occuper de faire la chose suivante :

    Ouvrir une nouvelle fenêtre (newWin) qui pointe sur un script php de mon serveur, et qui lui s'occupe de rediriger les infos de la commande vers le site PayPal.
    (Le gros problème, c'est qu'il est obligatoire que le site paypal soit affiché dans une fenêtre du client pour qu'il prenne en compte le nouvel élément du panier...).

    Donc la page newWin s'ouvre sur le site PayPal, et pendant ce temps, la page html de base lance un setInterval pour tester le titre de la fenêtre "newWin" (ou autre chose qui me permettrai de savoir que je suis sur le site de paypal et que la page est entièrement affichée.

    Dès que je sais que la page a été affichée, je la ferme, et l'utilisateur se retrouve a nouveau sur le site en Flash.

    Voilà en gros le truc. Je suis en train de faire des tests, et ma méthode setInterval ressemble à ça :

    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
     
    function testTitle()
    	{
    	if( win.document )
    		{
    		if( win.document.title != null )
    			{
    			var str = win.document.title;
    			alert( str );
    			var tab = str.match( "PayPal Shopping Cart" );
    			alert( tab );
    			if( tab != null )
    				{
    				win.close();
    				clearInterval( tm )
    				index++;
    				_addToCart();
    				}
    			}
    		}
    	}

    Seulement, dès lors que le site paypal est affiché, je me retrouve avec un beau message d'erreur :

    Erreur : uncaught exception: Permission refusée d'obtenir la propriété HTMLDocument.title

    Est-ce que ça vous dit quelque chose ?? est-ce qu'il y a moyen de passer outre, ou de définir une autre variable qui a coup sur sera accessible et "testable" par la page html de base pour savoir si le site paypal est affiché ??

    Toutes les suggestions sont les bienvenues.

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    declenche plutot un truc sur le window.onload de ta popup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    window.fini = function(){
        index++;
        _addToCart(); 
    }
    win.onload = function(){
        opener.fini();
        this.close();
    }

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    heu win c'est un frame? un iframe ... ?

    et la page affichée n'est pas sur le même domaine ...

    normal cross browser security, tu ne peux pas acceder aux elements d'une page qui ne t'appartient pas ou du moins qui n'est pas sur la même racine de domaine ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    cross browser security ?
    tapes trop vite la grenouille

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    :
    pas compris ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    ca serais pas plutot cross domain security que tu voulais dire ?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    heu faudrait que je vérifie mais je crois bien que c'est cross browser ??
    une rapide recherche sur google montre que les deux sont utilisés ... bien que cross domaine soit plus approprié !
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre chevronné Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par défaut
    Merci pour vos précisions.

    Oui, en fait, c'est un blème de sécurité...

    win est une fenêtre html ouverte avec window.open.

    D'abord, ça s'ouvre sur une page php de mon propre serveur, qui s'occupe de faire un traitement, puis c'est redirigé vers le site d'une tierce partie, donc qui ne m'appartient pas...

    C'est pour celà que je ne peux pas faire de modifs sur la nouvelle page, car ce n'est pas sur mon site...
    Je trouve un peu dommage qu'on ne puisse pas accéder à des variables de base, sur les sites qui ne sont pas sur le même domaine... rien que pouvoir récupérer l'url ou la dimension de la fenêtre aurait pu m'être bien utile...

    Merci beaucoup pour vos réponses

    a++

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    pas d'accès au dom d'une page hors domaine, c'est la règle; il te faut procéder autrement; et entre nous, ton test était plutôt léger...

    et c'est vraiment "le chargement de la page après redirection qu'il te faut tester"?

  10. #10
    Membre chevronné Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Par défaut
    Oui, je me doute que mon test était léger, mais bon, javascript n'est pas trop mon domaine à la base, je fais des tests un peu à l'arrache...

    Il est bien clair que ça ne tiens pas trop la route par rapport au résultat escompté.

    Oui, il faut que je puisse être "averti" lorsque la redirection est effectuée, car c'est le seul moyen (afficher la page redirigée) pour que les cookies soient récupérés et pris en compte par le navigateur client. Actuellement, ce n'est pas le cas, car il y a simplement un délai affecté... il suffit que l'utilisateur ait une ligne bas débit et mon test sera foireux une fois sur deux...

    Donc si vous avez des suggestions, je suis tout ouïe !

    A++

    Thierry

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/12/2007, 21h29
  2. Réponses: 4
    Dernier message: 03/06/2007, 07h18
  3. Comment ajouter un bouton dans la barre de titre d'une fenêtre ?
    Par Interruption13h dans le forum C++Builder
    Réponses: 10
    Dernier message: 04/07/2006, 19h07
  4. Changer le titre d'une fenêtre dynamiquement
    Par Dnx dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/11/2005, 16h32
  5. Quatrième bouton sur la barre de titre d'une fenêtre
    Par Yacine95000 dans le forum MFC
    Réponses: 8
    Dernier message: 02/06/2004, 17h54

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