11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai réalisé un script pour une amie qui est en train faire un site pour un club de plongée. Comme ses commanditaires voulaient absolument une page d'accueil en flash, j'ai réalisé un petit script en jquery qui charge l'animation flash en masquant le contenu html. Ce script utilise un plugin pour la gestion des cookies. En effet, il est possible pour l'utilisateur de passer outre l'animation flash et d'aller directement au contenu html et de garder ce réglage pour la fois suivante. L'utilisateur peut aussi évidemment revenir à la version flash.

Voici le site de test (fichier flash bidon) :

http://lombre.net/plongee/

Je ne comprends pas pourquoi il y a ce message d'erreur avec IE6. Smiley decu
Modifié par Patidou (19 Nov 2008 - 11:59)
Je précise que firebug dans FF ne m'indique aucune erreur. J'ai essayé firebug lite avec IE6 mais j'ai pas réussi à l'utiliser : l'anim flash vient au-dessus l'interface.
Ce serait sympa d'indenter ton code, cela te permettrait de voir plus facilement tes erreurs comme :



	$(document).ready(function(){
		
		if ($('body').hasClass("dc-home") && $.cookie('dcplongee_flash') == "true") {
			
			$('#introflash').append('<object id="animflash" type="application/x-shockwave-flash" data="http://lombre.net/plongee/?pf=dcplongee/img/accueil.swf" width="750" height="525">');
	
			$('#animflash').append('<param name="movie" value="http://lombre.net/plongee/?pf=dcplongee/img/accueil.swf" />');
			
			$('#animflash').append('<param name="wmode" value="transparent" />');
			
			$('#animflash').append('<p>Pas de flash? Passez &agrave; la version html...</p>');
			
		};
	});



Je ne vois pas trop ce que vient faire le ; à l'avant dernière ligne Smiley cligne
C'est corrigé mais ça ne change rien... J'ai remarqué que l'erreur se produit quand le cookie a la valeur true.
Pour implémenter un player flash correctement tu peux utiliser l'objet swfObject.

Il est assez facile d'utilisation et te permettra de faire ce que tu souhaite. Smiley biggrin
Hello,
dvilston a écrit :
Pour implémenter un player flash correctement tu peux utiliser l'objet swfObject.

Ca me paraît en effet plus adapté au problème. Smiley smile

Il est en général un peu dangereux de jouer avec les innerHTML et le code un peu compliqué (object en l'occurrence). Essaie peut-être d'écrire "<object ...></object>" sur ta première ligne.
Modifié par Julien Royer (29 Oct 2008 - 11:15)
Bonjour,

Comme promis, voilà le site qui fonctionne :

http://lombre.net/plongee/

Plutôt que l'imbrication d'éléments html en jquery, je n'ai fait qu'imbriquer un <p> avec un lien sur le fichier flash (et une class media). Là dessus j'ai fait fonctionner le plugin media et je n'ai plus de message d'erreur.

Le contenu du fichier plongee.js :

$(document).ready( function () {
    // On ajoute la classe 
	//pour changer l'apparence de la page et styler les nouveaux éléments
	//alert("coucou");
	if($('body').hasClass("dc-home")) {
		$('#supranav ul li.active').attr('id', 'flashstart');
		$('#flashstart a').text('Version flash');
		$('#page').after('<div id="introflash">');
		if ($.cookie('dcplongee_flash') == null ) {
			$.cookie('dcplongee_flash', true);
		}
		if ($.cookie('dcplongee_flash') == "true" ) {
				$("html").addClass("plongeerunning");
				$('#introflash').append('<p id="flashstop"><a href="#">[Version html]</a></p>');	
				$("#flashstart").hide();
		}
		$("#flashstop a").click(function () { 
			  $("html").removeClass("plongeerunning");
			  $.cookie('dcplongee_flash', false);
			  $("#introflash").hide();
			  //$("#animflash").remove();
			  $("#flashstop").hide();
			  $("#flashstart").show();
			  return false;
		 });
		$("#flashstart a").click(function () { 
			  $("html").addClass("plongeerunning");
			  $.cookie('dcplongee_flash', true);
			  $("#introflash").show();
			  $("#flashstop").show();
			  $("#flashstart").hide();
		 });
	}
	
} ) ;


Et le code dans la page :

$(document).ready(function(){
	if ($('body').hasClass("dc-home") && $.cookie('dcplongee_flash') == "true") {
		$('#introflash').append('<p><a id="animflash" href="http://lombre.net/plongee/?pf=dcplongee/img/accueil.swf" class="media">Version flash</a></p>');
		$('#introflash .media').media({ width: 750, height: 525, autoplay: true, caption: false });
	}
});


Merci beaucoup pour votre aide. Smiley cligne