Bonjour,
Je souhaiterai qu'au chargement de mon site sa lance une popup d'un autre site.
En plus si la popup se fait bloquer je souhaiterai qu'au click sur le site elle se lance.
Merci
Version imprimable
Bonjour,
Je souhaiterai qu'au chargement de mon site sa lance une popup d'un autre site.
En plus si la popup se fait bloquer je souhaiterai qu'au click sur le site elle se lance.
Merci
Bonjour,
Avec ceci ?
Cordialement.Code:
1
2
3
4
5
6
7
8
9
10 <a href="url_vers_autre_site" style="display:none;" id="mon_url" target="_blank"> <body onload="openSite()"> .... <script type="text/javascript"> function openSite() { document.getElementById("mon_url").click(); //En JS $("#mon_url").click(); //En JQuery } </script>
MMerci mais se ne me convient pas.
Faut pas cliquer sur un lien mais lancer au chargement du site.
Alors j'ai mis le script mais il ne se passe rien.
Code:
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 <?php session_start(); Html::doctype('html5'); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="content-langage" content="fr" /> <?php Html::title('dark-rivals V.2.0'); ?> <!-- CSS --> <?php Html::css('style') ?> <?php Html::css('grid'); ?> <?php Html::css('menu_top'); ?> <?php Html::css('index'); ?> </head> <a href="http://darkrivals.miniville.fr" style="display:none;" id="mon_url" target="_blank"> <body onload="openSite()"> .... <script type="text/javascript"> function openSite() { document.getElementById("mon_url").click(); //En JS $("#mon_url").click(); //En JQuery } </script>
J'espère que tu as remplacé les "...".
Également, je te conseille de mettre le script en haut de page.
Que te dis Firebug ? Si tu ne connais pas, installe le, c'est très pratique pour développer et voir les bugs.Code:
1
2
3
4
5
6
7
8
9
10 <script type="text/javascript"> function openSite() { document.getElementById("mon_url").click(); //En JS } </script> <body onload="openSite()"> <a href="http://darkrivals.miniville.fr" style="display:none;" id="mon_url" target="_blank"> Ceci est le contenu de mon site </body>
Le code que je viens de te fournir fonctionne très bien chez moi.
J'ai fait comme tu as mis mais il ne se passe rien.
Commente tout ton "Head" et regarde si cela fonctionne.
Tu travaille sur quoi ? J'ai testé avec IE et Firefox.
Firebug te dit-il quelque-chose ?
Sinon, peux-tu me fournir le code complet de ta page pour que je vois comment ça réagis chez moi ?
Aucun message d'erreur de firebug.
Voila mon code :
Code:
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
72
73
74
75
76
77 <?php session_start(); Html::doctype('html5'); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="content-langage" content="fr" /> <?php Html::title('dark-rivals V.2.0'); ?> <!-- CSS --> <?php Html::css('style') ?> <?php Html::css('grid'); ?> <?php Html::css('menu_top'); ?> <?php Html::css('index'); ?> <!-- JS --> <!-- <script type="text/javascript" src="https://www.google.com/jsapi?key=ABQIAAAAuIiGROE6olQIpcaw30FbfhQSelNyw6RWt7odiOfP9ZK_Bv2t8xR8NdkVHz6VoHmILCP4xxYzRrtPjg"></script> <script type="text/javascript"> google.load("jquery", "1.6.1", {uncompressed:true}); google.load("jqueryui", "1.8.13", {uncompressed:true}); </script> --> </head> <script type="text/javascript"> function openSite() { document.getElementById("mon_url").click(); //En JS } </script> <body onload="openSite()"> <a href="http://darkrivals.miniville.fr" style="display:none;" id="mon_url" target="_blank"> <!-- TOP --> <div id="header"> <?php if ($getController != 'index') { echo $content; } if ($getController == 'index') { ?> <div class="container_12" id="menu_top"><?php echo render('/template/top/menu/menu.php');?></div> <div class="container_12" id="usercp"> <div id="register" class="grid_4 alpha"><?php echo render('/template/middle/usercp/register.php');?></div> <div id="login" class="grid_4"><?php echo render('/template/middle/usercp/login.php');?></div> <div class="grid_4 omega"> <h3>Serveur status</h3> <ul> <li>Dark-rivals : On</li> <li>Arena/Infinity : On</li> <li>Nombre de compte : 10251</li> <li>Joeurs actuellement connectés : 325</li> </ul> </div> </div> <?php } ?> </div> <!-- MIDDLE --> <div class="container_12"> <div class="grid_12" id="last_news"><?php include('template/middle/news/index.php');?></div> <div class="divider"></div> <div class="grid_12"> <div class="grid_6 alpha" id="game_description"><?php echo render('/template/middle/gameDescription/gameDescription.php');?></div> <div class="grid_6 omega" id="last_topic"><?php echo render('/template/middle/topic/topic.php');?></div> </div> <div class="divider"></div> <div class="grid_12" id="classement"><?php echo render('/template/middle/ranking/ranking.php');?></div> </div> <!-- BOTTOM --> <div id="footer"><?php echo render('/template/bottom/footer/footer.php');?></div> </body> </html>
Je viens de poser ton fichier à l'identique sur un serveur Tomcat (apache) et cela fonctionne parfaitement :
- 1 page blanche est affichée
- 1 page avec "miniville" est affichée.
Il semble donc que le problème ne vienne pas du navigateur, ou du moins de Firefox, mais de ta configuration de serveur.
En espérant que cela ait pu t'aider.
Cordialement.
NB : si tu ne bosses pas sur Firefox et Windows, merci de me préciser ton navigateur et ton environnement (windows, ubuntu, etc).
Sa y est sa fonctionne.
Par contre la popup se fait bloquer.
Faudrai rajouter au script que lorsque on clique n'importe ou sur le site sa ouvre la popup.
Que tu le lances au démarrage ou 100000 fois par la suite, si le popup est bloqué tu ne peux rien faire.
La solution pourrait être d'ouvrir cette page dans une Lightbox (ou similaire). La lightbox ne peut pas se faire bloquer car n'est pas une nouvelle page. Par contre, elle viendrait en premier plan de ta page principale et celle-ci ne sera donc plus accessible tant que la page de "pub" sera ouverte.
Cordialement.
tiens voici une piste pour créer un box qui se fasse pas bloquer:
http://www.jacklmoore.com/colorbox
utilisation de lightbox jquery sinon les popup topic "alert" resteron bloquer.
FAUX !
Par défaut, sous chrome en tout cas, les popups ouverts SANS action de l'utilisateur sont bloqués, tandis que ceux issus de l'action de l'utilisateur sont bien ouverts !
La requête du barbarius est donc tout à fait censée, ouvrir un popup au chargement (pas d'action de l'utilisateur) et s'il n'est pas ouvert, profiter de la première action de l'utilisateur pour l'ouvrir.
Pour éviter 2 ouvertures, je te conseille de mettre dans le fichier popup.html :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <!DOCTYPE HTML> <html lang="fr"> <head> <title>page</title> <script type="text/javascript"> var opened; function openPop(){ if(opened) return true; open("popup.html",Math.random(),"menubar=no, status=no, scrollbars=no, menubar=no, width=200, height=100"); } window.onload = function(){ openPop(); document.body.onclick = openPop; }; </script> </head> <body> hello world </body> </html>
Ainsi tu signales au parent qu'il a bien ouvert son popup, en fait tu pourrais aussi le vérifier depuis le parent en faisant par exemple unCode:opener.opened = true;
if(pop.outerHeight) mais le popup risquant de ne pas être chargé tu devrais utiliser un timeout pour vérifier son ouverture.
Dans le cas d'un popup crossdomain (domaine différent) il sera impossible de passer par un "outerHeight", car les propriétés de ton window seront incessibles, je te conseilles donc de passer par un lien interne (popup.html) qui contiendra simplement ce script :
:ccool:Code:
1
2
3
4
5
6 window.onload = function(){ if(this.outerHeight){ opener.opened = 1; top.location = 'http://www.google.com/'; } };
edit: tu peux tester ici : http://www.punishor.com/test.htm
En effet, je ne connaissais pas cette astuce, merci pour l'info et la démo.
NB : j'ai testé avec Firefox et ça marche également.
Désolé mais j'ai pas tout compris de ce qu'il faut faire.
va là : http://www.punishor.com/test.htm
et là : http://www.punishor.com/popup.html
et copie/adapte le code source(clique droit -> afficher le code source) pour ton site. ;-)