Div et Drag (& appendice : IE vs FF)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Div et Drag (& appendice : IE vs FF)

par finipe » 28 oct. 2005, 22:21

Merci pour le lien, il est intéressant.

par mere-teresa » 28 oct. 2005, 15:37

Tout ça est très intéressant, mais finalement, pour résumer un peu mes propos liminaires de tout à l'heure, je pourrais me demander à quoi sert de se plier la tête en 4 pour faire un site qui fonctionne aussi sous Firefox, quand 95% des internautes utilisent IE ?
Je pense que tu devrais trouver ta réponse là :
http://standblog.org/blog/

Ma réponse sera : tout dépende de ton public, si ce sont des informaticiens, ils seront sous Linux...si ce sont des graphistes, ils auront un grand écran, etc.

par Cyrano » 28 oct. 2005, 14:11

Les membres du W3C sont les acteurs majeurs de l'internet, et paradoxalement, Microsoft en fait aussi partie.

par finipe » 28 oct. 2005, 14:05

Tout ça est très intéressant, mais finalement, pour résumer un peu mes propos liminaires de tout à l'heure, je pourrais me demander à quoi sert de se plier la tête en 4 pour faire un site qui fonctionne aussi sous Firefox, quand 95% des internautes utilisent IE ?

D'autant plus un site d'entreprise ! Excepté pour les boîtes d'informatique (je ne peux pas dire, je n'en connais pas), je n'ai jamais vu un seul ordinateur utilisant autre chose qu'IE, donc s'il y a un choix à faire entre :

- IE, non standard W3C, mais l'immense majorité des internautes
- FF, standard W3C, mais immense minorité des internautes

...je choisis sans hésiter IE.

Ce qui m'amène à la conclusion : les standards sont définis par le W3C (d'après ce que j'ai compris), c'est une chose. Mais qui sont ces gens du W3C d'ailleurs ? Et pourquoi définissent-ils des règles ne régissant qu'une minorité d'utilisateurs ? C'est à mon sens la majorité qui définit le standard, quel qu'il soit (cf. Churchill : la démocratie est le pire des systèmes, mais je n'en connais pas d'autre).

PS : et je passe volontairement sur tous les clichés habituels du grand méchant ogre microsoft qui impose sa loi parce que c'est le plus fort.

par Cyrano » 28 oct. 2005, 13:42

Le gros problème de IE par rapport à Firefox, c'est le non respect des standards du W3C et la mauvaise interprétation de propriétés bien définies en CSS.

Mais MSIE pose un problème à Microsoft: c'est le coeur de l'interface graphique de Windows et il ne peuvent pas le modifier aussi facilement. Il faudrait pour bin faire que Microsoft crée un nouveau navigateur IE indépendant et gère l'interface graphique de Windows avec un système à part, un peu comme sous Linux où tu choisis une interface KDE ou Gnome ou autre et tu navigues avec un navigateur internet dédié à cette activité: sous KDE par exemple, tu peux naviguer avec Konkeror, mais à mon point de vue, ce n'est pas vraiment fait pour ça et il est préférable d'utiliser Firefox ou Opera par exemple.

par finipe » 28 oct. 2005, 13:36

Marrant ça, j'aurais deviné les réponses :wink:

Plus sérieusement, je serais quand même réellement curieux d'obtenir un retour éclairé sur les différences entre Firefox et IE. Je parle des réelles différences, celles qui ont un avantage indéniable sur l'un ou l'autre navigateur. Parce que pour le moment, les seules choses que je préfère chez firefox, ce sont :

- un tout petit peu le design
- la navigation par onglet (très pratique j'en conviens)

Et c'est tout. Pour le reste, je n'ai que des embêtements, en particulier avec l'attribut display de divers éléments, qui me crée des décalages sans queue ni tête avec Firefox.

D'une façon plus générale, la "permissivité" tant décriée mais acceptée par IE a cet avantage immense de donner des résultats qui fonctionnent, ce qui n'est pas forcément le cas avec Firefox. On me dira qu'au moins Firefox respecte des conventions de code, mais enfin... Pour citer mère Thérésa, « l'informatique devient si monotone » !

On pourrait finalement trouver que le gros avantage de Firefox, c'est que c'est très "tendance" de l'utiliser, parce que bon, micro$oft ce sont quand même d'épouvantables capitalo-faschistes à la solde des agents gouvernementaux ne souhaitant qu'écraser les masses laborieuses des utilisateurs de logiciels gratuits. ^^

par zeus » 28 oct. 2005, 10:18

Vivement que microsoft écrase ses concurrents qu'on ne soit plus embêtés avec des variantes de codes. :langue:
:tir2: :afraid: zarabotak.com :non: :boire4:

par mere-teresa » 28 oct. 2005, 10:07

Vivement que microsoft écrase ses concurrents qu'on ne soit plus embêtés avec des variantes de codes.
Vivement que j'achète ma bergerie dans le Larzac, l'informatique devient si monotone.

par finipe » 28 oct. 2005, 04:29

Bon ben problème résolu tant bien que mal, même si le rendu avec Firefox est super laid.

Vivement que microsoft écrase ses concurrents qu'on ne soit plus embêtés avec des variantes de codes. :langue:

par mere-teresa » 25 oct. 2005, 12:07

On ne doit pas être des masses à faire des trucs exotiques par ici :)

Teste en désactivant Javascript...

par finipe » 25 oct. 2005, 10:19

Je remonte une dernière fois.

Vraiment personne ?

par finipe » 24 oct. 2005, 13:11

Personne ?

Div et Drag (& appendice : IE vs FF)

par finipe » 22 oct. 2005, 16:41

Bonjour !

Je suis confronté au problème de la compatibilité des navigateurs avec un script de "fausse popup" à base de calque, déplaçable avec la souris.

J'ai trouvé un script qui fonctionne, le voici (l'id de mon calque est 'recherche_plus') :
var NS4 = (document.layers)? true:false;
var IE4 = (document.all)? true:false;
var DOM = (document.getElementById)? true:false;

function init_drag()
{
	var h=0;
 	if(IE4)
 	{
		var w = document.body.clientWidth-200;
		recherche_plus.style.left  = w;
		recherche_plus.style.top   = h;
		recherche_plus.onmousedown = dbt_drag;
	}
	else if(DOM)
	{
		var w = window.outerWidth-200;
		document.getElementById('recherche_plus').style.left = w;
		document.getElementById('recherche_plus').style.top  = h;
		document.getElementById('recherche_plus').addEventListener('mousedown', dbt_drag, false);
	}
	else if(NS4)
	{
		var w = window.outerWidth-200;
		document.layers.recherche_plus.left = w;
		document.layers.recherche_plus.top  = h;
		document.captureEvents(Event.MOUSEDOWN);
		document.onmousedown = dbt_drag;
	}
}

function drag(e)
{
	if(IE4)
	{
		var difX = event.clientX - window.lastX;
		var difY = event.clientY - window.lastY;
		var newX1 = parseInt(recherche_plus.style.left) + difX;
		var newY1 = parseInt(recherche_plus.style.top)  + difY;
		recherche_plus.style.left = newX1 + "px";
		recherche_plus.style.top  = newY1 + "px";
		window.lastX = event.clientX;
		window.lastY = event.clientY;
	}
	else if(DOM)
	{
		var difX = e.clientX - window.lastX;
		var difY = e.clientY - window.lastY;
		var newX1 = parseInt(document.getElementById('recherche_plus').style.left) + difX;
		var newY1 = parseInt(document.getElementById('recherche_plus').style.top)  + difY;
		document.getElementById('recherche_plus').style.left = newX1 + "px";
		document.getElementById('recherche_plus').style.top  = newY1 + "px";
		window.lastX = e.clientX;
		window.lastY = e.clientY;
	}
	else if(NS4)
	{
		var difX = e.pageX - window.lastX;
		var difY = e.pageY - window.lastY;
		var newX1 = parseInt(document.layers.recherche_plus.left) + difX;
		var newY1 = parseInt(document.layers.recherche_plus.top)  + difY;
		document.layers.recherche_plus.left = newX1;
		document.layers.recherche_plus.top  = newY1;
		window.lastX = e.pageX;
		window.lastY = e.pageY;
	} 
}

function dbt_drag(e)
{
	if(IE4)
	{
		window.lastX = event.clientX;
		window.lastY = event.clientY;
		document.onmousemove = drag;
		document.onmouseup   = fin_drag;
	}
	else if(DOM)
	{
		window.lastX = e.clientX;
		window.lastY = e.clientY;
		window.onmousemove = drag;
		window.onmouseup   = fin_drag;
	}
	else if(NS4)
	{
		window.lastX = e.pageX;
		window.lastY = e.pageY;
		document.captureEvents(Event.MOUSEMOVE)
		document.onmousemove = drag;
		document.captureEvents(Event.MOUSEUP)
		document.onmouseup   = fin_drag;
	}
}

function fin_drag(e)
{
	if(IE4 || NS4)
	{
		document.onmousemove = null;
	}
	else if(DOM)
	{
		window.onmousemove = null;
	}
}
Voilà, ça fonctionne. Mais j'ai deux questions :

1 - Comment faire pour que cette fonction puisse être généralisée à d'autres cadres ?

2 - J'utilise Internet Explorer 6, et pourtant avec ce script mon navigateur est détecté comme IE4. Comment cela se fait-il ? Pourtant, dans d'autres javascripts, j'utilise la syntaxe document.getElementById('id') - qui renvoie a priori à DOM - et ça fonctionne. Je suis un peu paumé en fait :D