Forum Clubic

Objet flash qui remplace "object"

Bonjour,

Le casse-tête du jour c’est créer un objet flash capable de charger une page html externe.

contexte: j’ai crée un beau menu pour mon blog, avec entre-autres l’agrandissement des miniatures au passage de la souris. Le problème c’est que c’est du javascript, qui n’est pas accepté par l’hébergeur. J’ai dû donc bricoler en créant une page html externe appelée avec ça:


<object width="300" height="2400" type="text/html" data="menu.htm">     </object>

évidemment, ça marche nickel avec Firefox et Opera mais pas avec IE -_- de plus c’est pas valide W3C…

J’ai retourné à peu près toutes les possibilités, la meilleure serait d’utiliser un objet flash qui se “réserve” la place nécessaire dans la page et y affiche la page html. Sauf que j’ai quasiment jamais touché au flash ^^

Est-ce possible ? quel est le code nécessaire et sous quel logiciel ?

Longue vie au W3C \o/

Javascript est toujours accepté par l’hébergeur. Si ça pose problème, c’est le client qui te bloque.

D’après ce que je trouve c’est complètement pas intelligent d’insérer du javascript dans du flash XD
Donc je modifie ma requête: quel serait l’équivalent flash de ce “petit” javascript ?

/*** Creation des variables ***/
if(!window.JSFX)
	JSFX=new Object();
JSFX.ImageZoomRunning = false;

JSFX.zoomOn = function(img, zoomStep, maxZoom)
{
	if(img)
	{
		if(!zoomStep)
		{
			if(img.mode == "EXPAND")
				zoomStep = img.height/10;
			else
				zoomStep = img.width/10;
		}

		if(!maxZoom)
		{
			if(img.mode == "EXPAND")
				maxZoom = img.height/2;
			else
				maxZoom = img.width/2;
		}


		if(img.state == null)
		{
			img.state = "OFF";
			img.index = 0;
			img.orgWidth =  img.width;
			img.orgHeight = img.height;
			img.zoomStep = zoomStep;
			img.maxZoom  = maxZoom;
		}

		if(img.state == "OFF")
		{
			img.state = "ZOOM_IN";
			start_zooming();
		}
		else if( img.state == "ZOOM_IN_OUT"
			|| img.state == "ZOOM_OUT")
		{
			img.state = "ZOOM_IN";
		}
	}
}
JSFX.zoomIn = function(img, zoomStep, maxZoom)
{
	img.mode = "ZOOM";
	JSFX.zoomOn(img, zoomStep, maxZoom);
}
JSFX.stretchIn = function(img, zoomStep, maxZoom)
{
	img.mode = "STRETCH";
	JSFX.zoomOn(img, zoomStep, maxZoom);
}
JSFX.expandIn = function(img, zoomStep, maxZoom)
{
	img.mode = "EXPAND";
	JSFX.zoomOn(img, zoomStep, maxZoom);
}

JSFX.zoomOut = function(img)
{
	if(img)
	{
		if(img.state=="ON")
		{
			img.state="ZOOM_OUT";
			start_zooming();
		}
		else if(img.state == "ZOOM_IN")
		{
			img.state="ZOOM_IN_OUT";
		}
	}
}

function start_zooming()
{
	if(!JSFX.ImageZoomRunning)
		ImageZoomAnimation();
}

JSFX.setZoom = function(img)
{
	if(img.mode == "STRETCH")
	{
		img.width  = img.orgWidth  + img.index;
		img.height = img.orgHeight;
	}
	else if(img.mode == "EXPAND")
	{
		img.width  = img.orgWidth;
		img.height = img.orgHeight + img.index;
	}
	else
	{
		img.width  = img.orgWidth  + img.index;
		img.height  = img.orgHeight  + img.index;
	}
}

function ImageZoomAnimation()
{
	JSFX.ImageZoomRunning = false;
	for(i=0 ; i<document.images.length ; i++)
	{
		var img = document.images[i];
		if(img.state)
		{
			if(img.state == "ZOOM_IN")
			{
				img.index+=img.zoomStep;
				if(img.index > img.maxZoom)
					img.index = img.maxZoom;

				JSFX.setZoom(img);

				if(img.index == img.maxZoom)
					img.state="ON";
				else
					JSFX.ImageZoomRunning = true;
			}
			else if(img.state == "ZOOM_IN_OUT")
			{
				img.index+=img.zoomStep;
				if(img.index > img.maxZoom)
					img.index = img.maxZoom;

				JSFX.setZoom(img);
	
				if(img.index == img.maxZoom)
					img.state="ZOOM_OUT";
				JSFX.ImageZoomRunning = true;
			}
			else if(img.state == "ZOOM_OUT")
			{
				img.index-=img.zoomStep;
				if(img.index < 0)
					img.index = 0;

				JSFX.setZoom(img);

				if(img.index == 0)
					img.state="OFF";
				else
					JSFX.ImageZoomRunning = true;
			}
		}
	}
	if(JSFX.ImageZoomRunning)
		setTimeout("ImageZoomAnimation()", 40);
}

EDIT: sans-nom, quand je veux mettre du javascript, du object-embed autre que du flash ou des iframes, mon hébergeur de blog (eh oui) supprime automatiquement. Obligé de passer par un bon flash :frowning:
Edité le 13/04/2008 à 13:42

Je n’en sais rien, et je risque pas vu que je trouve que flash n’a rien à faire sur un site.

:smiley:

C bon, j’ai trouvé ce qu’il me fallait :slight_smile: