Bonjour, bonjour ! Alors j'ai réalisé une galerie d'image en Flash/AS3 toute simple
Maintenant j'aimerais que lorsque je clique sur une des images, alors un effet lightbox apparaissent.
Un de mes profs m'avait aidé, mais il est parti en vacances -.-" ! Cependant la technique qu'il m'a donné ne fonctionne pas et je ne sais pas pourquoi
Mon code AS3
Mon code JS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import flash.external.ExternalInterface; galerie.galerie.sac1.buttonMode = true; galerie.galerie.sac1.addEventListener(MouseEvent.MOUSE_UP, lightbox1 ); function lightbox1 (e) {*ExternalInterface.call("$('img1').simulate", "click"); }
Mon code HTML
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
56
57
58
59
60
61
62
63
64
65
66
67 // JavaScript Document** /* * Event.simulate(@element, eventName[, options]) -> Element * * - @element: element to fire event on * - eventName: name of event to fire (only MouseEvents and HTMLEvents interfaces are supported) * - options: optional object to fine-tune event properties - pointerX, pointerY, ctrlKey, etc. * * $('foo').simulate('click'); // => fires "click" event on an element with id=foo * **/ (function(){ var eventMatchers = { 'HTMLEvents': /^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/, 'MouseEvents': /^(?:click|mouse(?:down|up|over|move|out))$/ } var defaultOptions = { pointerX: 0, pointerY: 0, button: 0, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, bubbles: true, cancelable: true } Event.simulate = function(element, eventName) { var options = Object.extend(defaultOptions, arguments[2] || { }); var oEvent, eventType = null; element = $(element); for (var name in eventMatchers) { if (eventMatchers[name].test(eventName)) { eventType = name; break; } } if (!eventType) throw new SyntaxError('Only HTMLEvents and MouseEvents interfaces are supported'); if (document.createEvent) { oEvent = document.createEvent(eventType); if (eventType == 'HTMLEvents') { oEvent.initEvent(eventName, options.bubbles, options.cancelable); } else { oEvent.initMouseEvent(eventName, options.bubbles, options.cancelable, document.defaultView, options.button, options.pointerX, options.pointerY, options.pointerX, options.pointerY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, element); } element.dispatchEvent(oEvent); } else { options.clientX = options.pointerX; options.clientY = options.pointerY; oEvent = Object.extend(document.createEventObject(), options); element.fireEvent('on' + eventName, oEvent); } return element; } Element.addMethods({ simulate: Event.simulate }); })()
Normalement avec ce code, en cliquant sur une image de la galerie l'effet lightbox devrait apparaitre.
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 <!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> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Are u ok</title> <link href="../css/css.css" rel="stylesheet" type="text/css" /> <script src="../Scripts/swfobject_modified.js" type="text/javascript"></script> <script src="../js/flashtojs.js" type="text/javascript"></script> <script type="text/javascript" src="../js/prototype.js"></script> <script type="text/javascript" src="../js/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="../js/lightbox.js"></script> <script src="../js/AC_RunActiveContent.js" type="text/javascript"></script> <link rel="stylesheet" href="../css/lightbox.css" type="text/css" media="screen" /> </head> <body> <a id="img1" href="../images/image3.jpg" rel="lightbox" title="<h2>Sac This world is just illusion </h2><br/> Sac en skaï noir surpiqué, matelassé avec impressions et paillettes cousues main, chaîne métal et fermeture à glissière <br/>Dimensions*: 29 x 20 cm <br/><br/>prix: 75</a> <div id="galerie"> <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="902" height="380"> <param name="movie" value="../docs/Galerie flash/exploit/demo.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="9.0.45.0" /> <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. --> <param name="expressinstall" value="../Scripts/expressInstall.swf" /> <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="../docs/Galerie flash/exploit/demo.swf" width="902" height="380"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="9.0.45.0" /> <param name="expressinstall" value="../Scripts/expressInstall.swf" /> <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. --> <div> <h4>Le contenu de cette page nécessite une version plus récente dAdobe Flash Player.</h4> <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> </body> </html>
Lorsque j'essaye adobe flash player me demande une autorisation de communication entre mon swf et une page html, alors je suis redirigé sur le site d'adobe, j'autorise l'accès au dossier concerné, seulement ensuite rien ne se passe, je rafraichis et ce message réapparait encore ? help ?
Partager