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 :

Déclencher onclick dans un script


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Pour le plaisir
    Inscrit en
    Novembre 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pour le plaisir
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2012
    Messages : 178
    Par défaut Déclencher onclick dans un script
    bonjour

    je cherche a forcer le déclenchement d'un onclick dans un script.

    le fichier php me permet permet d'enregistrer le clic et l'id de la bannière en fonction de l'ip afin de ne pas revoir cette bannière.

    ça fonctionne bien avec du <a href (lance le site et enregistre dans le fichier php), mais quand je veut déclencher avec un script ou iframe d'une regie exemple :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <span onclick="document.location.replace('enr_clic.php?id=12')" >
    <script  type="text/javascript" src="http://www.regie.com/38606-728x90.js"></script>
     </span>
    c'est le script de la regie qui fonctionne mais déclenche pas le fichier php....comment je peut faire ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Rien compris. Tu veux forcer l'exécution du callback onClick sans que l'utilisateur clique ? A quoi ça sert ? Pourquoi ne pas appeler manuellement le code du callback ? Et que fait ce <script> au milieu d'un <span> ?

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Surtout, puisqu'il s'agit apparemment d'un script de régie pub, les clics automatiques sont en général strictement interdits...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre chevronné
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Par défaut
    Citation Envoyé par maxtrident Voir le message
    le fichier php me permet permet d'enregistrer le clic et l'id de la bannière en fonction de l'ip afin de ne pas revoir cette bannière.
    Je crois que de bonne foi, il essaye de faire du clickjacking. De façon à, comme il le dit, ne pas présenter deux fois la même pub au même utilisateur.
    Pas pour forcer un clic, mais pour récupérer l'information qu'il y a eu un clic sur telle ou telle banière.

  5. #5
    Membre confirmé
    Homme Profil pro
    Pour le plaisir
    Inscrit en
    Novembre 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pour le plaisir
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2012
    Messages : 178
    Par défaut
    en effet je force personne a cliquer...je veut simplement gérer les bannières, ne plus afficher la bannière après l'avoir vue x fois et faire montrer une autre etc...en fonction de l'ip et la date du clic....j'ai presque fini pour ça.

    mon problème c'est de récupérer et enregistrer quand l'utilisateur clic.
    les bannières normal pas de problème du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a onclick="document.location.replace('enr_clic.php?id=12')" href="http://www.site.fr" target="_blank"><img src="http://www..gif" /></a>
    mais comme la plupart des régies c'est en java comment faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script  type="text/javascript" src="http://www.regie.com/38606-728x90.js"></script>
    j'avais pensé de mettre une sorte de filtre devant la bannière, mais l'utilisateur devra cliqué 2 fois...c'est déja dur une fois !

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    javaSCRIPT

    Le script en question contient un code qui peut faire tout et n'importe quoi : charger une ou deux ou 36 bannières, les positionner en haut, en bas ou dans une pop-up, bref rien de prévisible tant qu'on a pas fouillé dedans pour comprendre son fonctionnement (à supposer que son contenu ne change pas entre temps, car il est sur un domaine extérieur sur lequel tu n'as aucun contrôle). Donc ce n'est pas en mettant la balise script à l'intérieur d'un span que la bannière de pub effectivement chargée va forcément se trouver à l'intérieur de ce span.

    Pour savoir à quoi ressemble cette bannière et où elle est située, utilise ton inspecteur de développement (F12). Ensuite pour ton problème, je verrais bien une solution à base de délégation d'évènements. Je n'ai pas trouvé de tuto clé en main pour ça, quelqu'un en connait un bon sur developpez ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Pour le plaisir
    Inscrit en
    Novembre 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pour le plaisir
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2012
    Messages : 178
    Par défaut
    oui mais la c'est de la modification du code de la regie donc interdit...en plus ça doit pratiquement impossible à modifier sauf peut etre un super pro.
    il existe pas un système comme avec du <a href> qui ouvre le onclick et la regie ?
    ou encore un système qui repère l'ouverture dans un autre onglet.

  8. #8
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Soit je n'ai rien compris au problème (et c'est à envisager sérieusement...), mais pourquoi personne ne pense à utiliser AJAX?

  9. #9
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    externalise la fonction du click et appelle là ...
    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 !

  10. #10
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Citation Envoyé par maxtrident Voir le message
    oui mais la c'est de la modification du code de la regie donc interdit...en plus ça doit pratiquement impossible à modifier sauf peut etre un super pro.
    il existe pas un système comme avec du <a href> qui ouvre le onclick et la regie ?
    ou encore un système qui repère l'ouverture dans un autre onglet.
    Qui parle de modifier le code de la régie ? Je t'ai juste demandé de regarder à quel endroit du DOM la bannière est insérée. La délégation d'évènement te permettrait d'écouter les évènements click dans le document en filtrant sur le type d'élément cliqué (dans ton cas, la bannière pub), comme ça tu pourrais faire une action au clic sans compromettre le fonctionnement initial de la bannière.

    Bien sûr, tant qu'on ne sait pas ce que fait ce script regie et qu'est-ce qu'il génère dans le DOM, on va continuer à parler avec des hypothèses dans le vide.

  11. #11
    Membre confirmé
    Homme Profil pro
    Pour le plaisir
    Inscrit en
    Novembre 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pour le plaisir
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2012
    Messages : 178
    Par défaut
    tu parle top technique comprend rien : endroit du DOM la bannière est insérée...DOM = domaine... si oui, je voie pas comment... et sera différent pour chaque régie.
    je diffuse les bannières comme ça..... peut etre récupérer un clic par la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     $pubdata = $bdd->prepare("SELECT * FROM rc_headerpub WHERE id = :id");
    	$pubdata->execute(array(
    	'id'=> $pub[$id]
        )) or die(print_r($bdd->errorInfo()));
    $pubdata = $pubdata->fetch();
      $code = $pubdata['code'];
      $code = str_replace('\"', '"', $code);	
      echo $code;

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    ton echo $code; tu le fais entre quelle balise, à quel endroit...de ton document...

  13. #13
    Membre chevronné
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Par défaut
    NB: DOM = Document Object Model, représentation de la page html != http://<domaine>/, grossièrement donc endroit du DOM plutôt == endroit du document.

    Pour les scripts, comme le dit
    Citation Envoyé par SylvainPV Voir le message
    La délégation d'évènement te permettrait d'écouter les évènements click dans le document en filtrant sur le type d'élément cliqué
    à condition que ces scripts ne génèrent pas d'un façon quelconque un document sur un domaine différent de ton document.
    Ce qui ramène au problème des iframes sur un domaine différent, pour lequel je ne vois pas de solution locale, surtout sans modifier le contenu. On en revient toujours à des techniques autour du clickjacking et comme tu l'as souligné :
    Citation Envoyé par maxtrident Voir le message
    l'utilisateur devra cliqué 2 fois...c'est déja dur une fois !
    Dans Detect Click into Iframe using JavaScript il est fait mention d'une tentative de solution mais qui n'est pas imparable et de plus ne s'applique pas à ton cas (mais sait on jamais) :
    si je comprends l'idée, c'est d'utiliser l'évènement mouseover sur la iframe, puis l'évènement unload sur ta fenêtre en disant : si le dernier évènement avant le unload était un mouseover sur la iframe alors c'est qu'on doit avoir cliqué dans la iframe ...
    Ce qui ne fonctionnera pas si le clic dans la iframe ne recharge pas ta page ...

    Citation Envoyé par maxtrident Voir le message
    la modification du code de la regie donc interdit...
    Dommage, sinon pour les iframes, on aurait pu envisager une usine à gaz, pas imparable non plus :
    - charger les iframes non pas directement à partir du site d'origine mais en passant par ton site genre : <iframe src="http://tonsite.com/?puburl=<url de la pub>">
    - tu récupères la page (coté serveur), tu la modifies, à la volée, en rajoutant simplement une balise <base href="<url de la pub>"> dans le <head>
    - quand la page revient dans le navigateur, elle est sur le même domaine que le tien, mais les liens qu'elle contient seront corrects à cause de la balise <base>
    - à partir de là, tu pourras avoir accés au document contenu dans la iframe et installer un eventListener pour le click sur iframe.contentWindow.document.body.
    Technique qui peut échouer pour plein de raisons

    Une solution non locale, mais qui j'imagine ne te conviendra pas est plutôt commerciale : dans la mesure où les clics de bannières sont censés génèrer du revenu, tu dois avoir des remontées des régies pub (qui eux savent d'où vient l'utilisateur et sur quelle banière il a cliqué). Peut-être est il possible de leur demander une remontée de cette information sur une base quotidienne ou hebdomadaire, qui te permettrait de mettre à jour ta base mais à postériori.

    Une autre solution non locale serait que les scripts/iframes intègre une méthode de communication avec le document parent comme postMessage, c'est pas gagné d'avance ...

    Bref, ce que tu demandes est techniquement difficile, si c'est possible ...

  14. #14
    Membre confirmé
    Homme Profil pro
    Pour le plaisir
    Inscrit en
    Novembre 2012
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pour le plaisir
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Novembre 2012
    Messages : 178
    Par défaut
    merci pour les infos
    $code se trouve soit en haut de ma page pour les ban 468 -728
    Code php : 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
    <?php
    if (($nbpub648 > 0 AND $okpifpub != 1) or $pubpif == 1)
    {
    ?>
    <div id="headerpub_DG">	
    		<?php  include "./common/header-pub.php"; ?>
    		</div>
    <?php
    }
    else if (($nbpub768 > 0 AND $okpifpub != 1) or $pubpif == 2)
    {
    ?>
    <div id="headerpub_DG2">	
    	<?php  include "./common/header-pub2.php"; ?>
    </div>
    <?php
    }
    ?>
    </div>

Discussions similaires

  1. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  2. evenement onclick dans un script
    Par yanice dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 13/06/2007, 17h35
  3. Problème de date dans un script
    Par silef dans le forum Linux
    Réponses: 2
    Dernier message: 16/11/2004, 18h10
  4. [Apache] Erreur dans mes scripts CGI
    Par GLDavid dans le forum Apache
    Réponses: 2
    Dernier message: 28/08/2004, 06h14
  5. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07

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