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 :

Récupérer les clicks dans une Iframe


Sujet :

JavaScript

  1. #21
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    De rien !
    Si l'url devient indispensable pour ton client, il faudra passer par une mécanique beaucoup plus lourde à base de proxy, comme le suggère Willpower.

  2. #22
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    @Nadox, juste pour être sûr (n'étant pas familier à mort du JS), aurais tu l'amabilité de me confirmer le comportement suivant avec le code que je poste en fin de message :

    - la page se charge et enregistre un premier load de la Iframe mais je ne déclenche pas la requête XmlHttpRequest
    - le visiteur clique dans la Iframe et redéclenche le load de la Iframe et là, déclenche la requête XmlHttpRequest et exécute la page de destination frame.aspx
    - le visiteur reclique autant de fois qu'il veut dans la Iframe mais ne redéclenche plus du tout la requête XmlHttpRequest

    J'ai gérer le chargement du load avec la variable passage en début de script.

    Merci d'avance.

    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
     
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
        <script type='text/JavaScript'>
            var passage = 0;
            function getXhr() {
                var xhr = null;
                if (window.XMLHttpRequest) // Firefox et autres
                    xhr = new XMLHttpRequest();
                else if (window.ActiveXObject) { // Internet Explorer 
                    try {
                        xhr = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                }
                else { // XMLHttpRequest non supporté par le navigateur 
                    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                    xhr = false;
                }
                return xhr
            }
            /**
            * Méthode qui sera appelée sur le click du bouton
            */
            function go() {
                var xhr = getXhr()
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function() {
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                    if (xhr.readyState == 4 && xhr.status == 200) {
                        //alert(xhr.responseText);
                    }
                }
                if (passage == 1) {
                    xhr.open("GET", "/frame.aspx", true);
                    xhr.send(null);
                }
                passage++;
            }
    		</script>
    </head>
    <body>
        <form id="form1" runat="server">
        <ajax:ScriptManager ID="sm" runat="server"></ajax:ScriptManager>
        <div>
        Compteur
        <iframe id="maframe" name="nmaframe" src="http://www.google.fr" width="100%" height="600" onload="go();" ></iframe>
        </div>    
        </form>
    </body>
    </html>

  3. #23
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Oui, c'est bien le comportement que devrais obtenir.
    Je dirais même :
    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
     
    	function go() {
    		if (passage == 1) {
    			var xhr = getXhr();
    			// On défini ce qu'on va faire quand on aura la réponse
    			xhr.onreadystatechange = function() {
    				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    				if (xhr.readyState == 4 && xhr.status == 200) {
    					//alert(xhr.responseText);
    				}
    			}
    			xhr.open("GET", "/frame.aspx", true);
    			xhr.send(null);
    		}
    		passage++;
    	}

  4. #24
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour cette correction.
    Je me suis posé la question et je n'ai pas osé le faire.

    @ la prochaine

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Récupérer les valeurs dans une fonction
    Par matmay dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/05/2007, 16h50
  2. Récupérer les variables dans une popup
    Par Msieurduss dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2006, 20h05
  3. Comment récupérer l'url dans une iFrame
    Par Puzzo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/01/2006, 11h48
  4. récupérer les paramètres dans une url
    Par asetti dans le forum ASP
    Réponses: 6
    Dernier message: 23/12/2005, 10h08
  5. Récupérer les données d'une iframe
    Par juli1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 22h53

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