Win3x.Org

Windows & DOS Community

Legacy [style de forum compatible anciens navigateurs]

Répondre   Page 3 sur 8  [ 120 messages ]
Aller sur la page « 1 2 3 4 58 »
Auteur Message
raymater
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 16:02
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 450
Inscription : 12 juin 2008 17:57
PC Rétro : P3 800 MHz ; 384 Mo RAM ; Voodoo 2 ; GeForce 4
 
Big Monstro a écrit :
Résultats
Internet Explorer 4 => http://zupimages.net/up/16/38/9vni.jpg
Internet Explorer 5 => http://zupimages.net/up/16/38/679x.jpg
Internet Explorer 9 => http://zupimages.net/up/16/38/ril8.jpg
Au vu des résultats, IE passe donc bien dans le if comme prévu. En tout cas je sais maintenant quoi mettre dans les variables bbopen et bbclose pour tester. Donc si je comprends bien au vu du code que tu as mis, dans le premier cas sous IE4, tu n'as eu qu'un seul pop-up (celui marqué Valeur de bbopen: ; Valeur de bbclose : ) et sur le deuxième et le troisième cas tu en as eu deux d'affiché à la suite (celui des valeurs des variables comme sous IE4 + celui marqué "Passe dans IE4") ; c'est bien ça ?

Du coup si c'est ça c'est qu'au vu que l'alert("Passe sous IE4") ne soit pas affiché c'est donc qu'il ne passe pas dans le if (theSelection) { ... }. Dans ce cas c'est peut-être que la variable theSelection est undefined et dans ce cas il faudrait la tester en insérant le code suivant dans le if ((clientVer >= 4) && is_ie && is_win) { et avant le if (theSelection) { :
if (typeof theSelection == 'undefined') {
	alert("La variable theSelection n'est pas définie");
}
Si ce pop-up s'affiche alors c'est que theSelection = document.selection.createRange().text; qui pose problème.

S'il n'y a aucun pop-up ne s'affichent c'est que if (theSelection) { n'est pas géré pas IE4 et dans ce cas il faudra le remplacer par
if (typeof theSelection != 'undefined') {

Pour le reste je vais tester tout ça et je te redis ce qu'il en est.

:arrow: EDIT : Bon alors j'ai fait quelques tests de débogage avec des var_dump dans tout ça et je me retrouve au final avec une variable theSelection undefined dans tous les cas. Ce qui me semble incompréhensible. Est-ce le cas chez toi BM ?
[ img ]
(Je précise que j'utilise theSelection = document.getSelection().text; pour définir la variable au lieu de theSelection = document.selection.createRange().text; comme initialement mis dans le script pour que cela fonctionne sous Firefox)

:arrow: EDIT (2) : Au final ça marche avec la fonction mozWrap() sous Firefox. Donc si tu as ce fameux problème de variable theSelection undefined, il faudrait voir si la fonction mozWrap marche sous IE4 en mettant ceci juste avant le if (theSelection) { :
if (typeof theSelection == 'undefined') {
	mozWrap(textarea, bbopen, bbclose);
	return;
}

_________________

:arrow: Mon site Web
:arrow: Mon serveur Discord


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 17:21
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
raymater a écrit :
Au vu des résultats, IE passe donc bien dans le if comme prévu. En tout cas je sais maintenant quoi mettre dans les variables bbopen et bbclose pour tester. Donc si je comprends bien au vu du code que tu as mis, dans le premier cas sous IE4, tu n'as eu qu'un seul pop-up (celui marqué Valeur de bbopen: ; Valeur de bbclose : ) et sur le deuxième et le troisième cas tu en as eu deux d'affiché à la suite (celui des valeurs des variables comme sous IE4 + celui marqué "Passe dans IE4") ; c'est bien ça ?
En fait, non, concernant IE5 à IE9 : si j'ai sélectionné du texte, je n'ai que le message "Passe dans IE4". Si je ne sélectionne rien, j'ai l'autre message. Pas les deux. Pour avoir ces deux messages, j'aurais dû mettre les deux alert l'un après l'autre dans le code (mais IE4 n'aurait alors rien affiché du tout).

Attention, pour la fonction bbfontstyle, theSelection n'a de sens que pour IE (jusqu'à la v10 incluse). Pour les navigateurs alternatifs, tu n'as que theSelection = false; et ensuite theSelection = '';, bref, ça m'a tout l'air d'être inutile pour Firefox.

Mes dernières observations
if ((clientVer >= 4) && is_ie && is_win) {
		// Get text selection
		theSelection = document.selection.createRange().text;

	if (typeof theSelection == 'undefined') {
   alert("La variable theSelection n'est pas définie");
}	
	if (theSelection) {
			// Add tags around selection
			document.selection.createRange().text = bbopen + theSelection + bbclose;
			textarea.focus();
			theSelection = '';
		alert("Passe sous IE4");	return;
		}
	}
Aucune réaction de la part d'IE4 ou d'IE5 pour la condition if (typeof theSelection == 'undefined')
if ((clientVer >= 4) && is_ie && is_win) {
		// Get text selection
		theSelection = document.selection.createRange().text;

	if (typeof theSelection != 'undefined') {
   alert("IE4 réagit à if typeof theSelection != undefined");
}	
	if (theSelection) {
			// Add tags around selection
			document.selection.createRange().text = bbopen + theSelection + bbclose;
			textarea.focus();
			theSelection = '';
		alert("Passe sous IE4");	return;
		}
	}
Les deux IE réagissent à la condition if (typeof theSelection != 'undefined')'

edit: tu as édité ton message entretemps, je n'ai pas tenu compte de la dernière partie, je vais vérifier ça ^^


Haut
Profil Citer
raymater
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 17:29
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 450
Inscription : 12 juin 2008 17:57
PC Rétro : P3 800 MHz ; 384 Mo RAM ; Voodoo 2 ; GeForce 4
 
Ce qui me parait donc cohérent à l'idée que le JS des anciens IE réagit dans ce cas à ce type de fonctions pour donner une valeur à la variable theSelection. Et visiblement theSelection serait alors défini. Dans ce cas essaye voir d'afficher dans ton if (typeof theSelection != 'undefined') { la valeur de la variable theSelection pour chaque IE comme ceci :
if (typeof theSelection != 'undefined') {
   alert("Valeur de theSelection = " + theSelection);
}
Par la suite essaye d'enlever/commenter tout ton if (typeof theSelection != 'undefined') { afin de voir si le pop-up "Passe sous IE4" (alert("Passe sous IE4");) s'affiche bien sous IE 4.

_________________

:arrow: Mon site Web
:arrow: Mon serveur Discord


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 17:47
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
[ img ]

[ img ]

J'ai l'impression que IE4 ne maintient pas la sélection. Observez ces deux images. Pourtant, j'ai bel et bien sélectionné le texte "Test sous Internet Explorer 4" avant d'insérer une balise et faire apparaitre juste avant le message "Valeur de TheSelection =". Sous IE5, la sélection de texte est maintenue et ça se voit avec le surlignement bleu.


Haut
Profil Citer
raymater
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 17:54
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 450
Inscription : 12 juin 2008 17:57
PC Rétro : P3 800 MHz ; 384 Mo RAM ; Voodoo 2 ; GeForce 4
 
IE4 ne maintiendrait donc pas le focus de la sélection après appui sur le bouton dans ce cas.

Tu as essayé d'utiliser la fonction mozWrap() sous IE4 qui normalement est utilisée sous Firefox et les autres navigateurs hors IE mais étant tout de même fonctionnel ?
A rajouter dans tout le if ((clientVer >= 4) && is_ie && is_win) { en lieu et place de ce qui existe à l'intérieur de ce dernier :
if ((clientVer == 4) && is_ie && is_win) {
   mozWrap(textarea, bbopen, bbclose);
   return;
}
else
{
	theSelection = document.selection.createRange().text;
	if (theSelection) {
		// Add tags around selection
		document.selection.createRange().text = bbopen + theSelection + bbclose; // Erreur corrigée
		textarea.focus();
		theSelection = '';
		return;
	}
}

Dernière modification par raymater le 25 sept. 2016 18:35, modifié 1 fois.

_________________

:arrow: Mon site Web
:arrow: Mon serveur Discord


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 18:23
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
C'est pire : désormais, IE5 et IE6 se comportent comme IE4 :lol:, mais ça enlève les messages popup.

Concevoir un code JavaScript fonctionnel sur IE4 comme sur les navigateurs ultérieurs n'est pas une mince affaire : IE4 ne supporte pas les standards DOM (géré qu'à partir de IE5 32-bit) et proposait ses méthodes alternatives (le fameux document.all en est un exemple). IE4 est si ancien qu'il n'est pas évident de retrouver de la documentation qui s'y rapporte.

Je ne perds pas espoir. Je viens de trouver ceci => http://www.webreference.com/js/column12 ... owser.html


Haut
Profil Citer
raymater
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 25 sept. 2016 18:34
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 450
Inscription : 12 juin 2008 17:57
PC Rétro : P3 800 MHz ; 384 Mo RAM ; Voodoo 2 ; GeForce 4
 
viewtopic.php?f=39&t=24722&p=165211#p165209
raymater a écrit :
if (theSelection) {
	// Add tags around selection
	theSelection = document.selection.createRange().text = bbopen + theSelection + bbclose;
	textarea.focus();
	theSelection = '';
	return;
}
==> Tu noteras mon erreur à cet endroit : theSelection = document.selection.createRange().text = bbopen + theSelection + bbclose;. Je voulais mettre ça à la place :
if (theSelection) {
	// Add tags around selection
	document.selection.createRange().text = bbopen + theSelection + bbclose; // C'est mieux :D
	textarea.focus();
	theSelection = '';
	return;
}

_________________

:arrow: Mon site Web
:arrow: Mon serveur Discord


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 08 oct. 2016 17:33
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
Je suis dans l'incapacité de résoudre le problème décrit supra. Je ne sais même pas s'il y a une solution. Le problème semble inhérent au comportement d'IE4 (si on clique où que ce soit, la sélection de texte n'est pas maintenue ; contrairement à IE5+ et n'importe quel navigateur moderne où le clic DOIT être localisé dans la zone <textarea> pour déselectionner le texte).

Je reviens sur ce topic pour exprimer cette requête : récupérer les packages des premières versions de phpBB (1.x et 2.0). Sauf erreur de ma part, phpBB.com ne propose plus rien en dessous de la v3.0. Le fait est que celles-ci ne soient pas beaucoup plus récentes que IE4.01 SP2 (janvier 1999) peut supposer que l'équipe de phpBB a pu supporter IE4 à l'époque. Ce navigateur avait encore 7% de parts de marché en août 2001 et n'a descendu sous la barre du pourcent qu'à partir d'août 2004. S'il existe un code JavaScript pour contourner mon souci, ils l'ont peut être implémenté à l'époque. Je sais que ces anciennes versions de phpBB sont truffées de failles de sécurité et qu'il serait bien malvenu de venir récupérer du code PHP dedans. Mais je souhaite consulter la partie JavaScript de l'éditeur de texte.

En dehors de l'éditeur de messages, Win3x.Org fonctionne sur IE 4.01 SP1+ exactement de la même manière que sur n'importe quel navigateur récent. Pour lire les discussions et télécharger des applis, c'est parfait


Haut
Profil Citer
tortipouss
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 08 oct. 2016 20:19
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 612
Inscription : 09 mars 2006 21:29
PC Rétro : Amstrad 9486i http://tortiplouf.be/appareils.html
 


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 08 oct. 2016 22:02
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
Les versions 1.x (la v1.4.4 que tu me proposes et la v1.0 qu'on m'a fourni par MP) sont bien étranges pour un habitué de phpBB 3.x :uh:

Il n'y a aucun fichier CSS, HTML, JS ou même TPL (extension des templates à l'époque de phpBB 2.x). En analysant vite fait le contenu des fichiers PHP, j'aperçois du code HTML (faut croire que les styles n'existaient pas et que l'interface était générée directement à partir des fichiers PHP internes, sans recourir au moindre template externe). Ce qui me surprend surtout, c'est que je vois nulle trace de JavaScript en recherchant les chaines de caractères "java" et "<script" dans ces fichiers. Pourtant, il y a de nombreuses références au BBcode. Serait-il possible d'insérer des balises dans une zone de texte sans recourir à JavaScript ou des plugins externes comme Java ou Flash ? Si ça recourait carrément à PHP, donc que ça repassait sur le serveur avant d'être renvoyé au client, cela impliquerait le rafraichissement de la page à chaque insertion de balise :shock:. Mon hypothèse aberrante doit être erronée.

Concernant phpBB 2.x, ce serait préférable de retrouver les packages des premières révisions (ex: phpBB 2.0.0), pas celles qui datent de 2007/2008, c'est-à-dire d'une époque où même IE 5.5 avait déjà pratiquement disparu.


Haut
Profil Citer
remax17
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 08 oct. 2016 22:08
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 923
Inscription : 22 sept. 2010 15:03
PC Rétro : PIII 500mhz -384Mb RAM - Voodoo 2 en SLI
 


Haut
Profil Citer
Big Monstro
Sujet du message : Combler les lacunes en l'absence de jQuery
Publié : 09 oct. 2016 01:48
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
Sous subsilver2 Legacy, j'ai viré tous les appels aux fichiers core.js et jquery.min.js fournis par phpBB. Les instructions qu'ils contiennent sont conçues pour IE6+ et seront même susceptibles d'exiger IE9+ prochainement : en effet, parcourir un forum phpBB 3.2.0-RC1 sous IE8 provoque l'apparition de messages d'erreur (sauf si on utilise Legacy) ; il s'agit pourtant d'un browser sorti en 2009, c'est le dernier IE pour XP et c'est aussi la version fournie avec Win7.

L'absence de jQuery a eu trois conséquences fâcheuses, que je cherche à combler sans sacrifier la compatibilité avec les vieux navigateurs (tout doit fonctionner avec IE5 32-bit, et si possible IE4).
  1. Par défaut, la touche de tabulation (Tab Key, qui se trouve juste au-dessus de Caps Lock ou Verrouiller Maj) permet de transférer le focus d'un élément de l'interface à un autre. C'est conçu pour améliorer l'accessibilité des sites si on ne peut pas utiliser de souris pour une quelconque raison (j'ai essayé ce forum aussi bien sur subsilver2 et prosilver, ce n'est pas très convaincant :lol:). Mais si on utilise cette touche dans l'éditeur de messages, entre les balises code, le comportement doit changer pour permettre d'insérer de grands espaces.

    Voici le code en question, issu du fichier editor.js utilisé par prosilver. Ce code recourt explicitement à jQuery, et peut être implicitement à core.js. Serait-il possible de concevoir un nouveau code pour cette fonction ?
    /**
    * Allow to use tab character when typing code
    * Keep indentation of last line of code when typing code
    */
    (function($) {
    	$(document).ready(function() {
    		var doc, textarea;
    
    		// find textarea, make sure browser supports necessary functions
    		if (document.forms[form_name]) {
    			doc = document;
    		} else {
    			doc = opener.document;
    		}
    
    		if (!doc.forms[form_name]) {
    			return;
    		}
    
    		textarea = doc.forms[form_name].elements[text_name];
    
    		phpbb.applyCodeEditor(textarea);
    		if ($('#attach-panel').length) {
    			phpbb.showDragNDrop(textarea);
    		}
    
    		$('textarea').on('keydown', function (e) {
    			if (e.which === 13 && (e.metaKey || e.ctrlKey)) {
    				$(this).closest('form').submit();
    			}
    		});
    	});
    })(jQuery);
    
  2. Comme vous le savez, un menu apparait si on clique sur le lien Notifications [...]. Par défaut, si on clique n'importe où ailleurs que sur le menu en question, il disparait. Ce n'est désormais plus vrai sous Legacy : il faut soit cliquer à nouveau sur le premier lien, soit cliquer sur le nouveau lien "Réduire" apparaissant en dessous des notifications listées. C'est une régression ergonomique mais j'espère que ça ne dérange personne...
  3. La perte la plus regrettable est la suivante : dans les réglages généraux du PCU, il n'est désormais plus possible de modifier le format de date. Le script timezone.js de subsilver2 faisait massivement appel à core.js et jQuery, fichiers mis en quarantaine. Si vous voulez personnaliser votre format de date, la seule solution étant de basculer momentanément sur prosilver pour retrouver l'option qui s'y rapporte. Évidemment, cela ne devrait pas se passer ainsi. On devrait pouvoir accéder à toutes les options sans devoir changer de style !
Si ces trois lacunes sont comblées, on aura réussi à créer le style le plus polyvalent qui existe pour cette bouse de phpBB (non, n'exagérons rien :razz:) !

Si ça peut vous aider, voici les ressources bloquées sur Legacy :


Haut
Profil Citer
DoomQuakeKeen
Sujet du message : Re: Problème avec l'insertion des BBcode (JavaScript)
Publié : 09 oct. 2016 08:49
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 2341
Inscription : 05 avr. 2012 17:38
PC Rétro : Amstrad PC2086/30 8086 640K RAM 32Mo RLL
 
La totalité des versions de phpBB (oui même la 1.0.0) est encore disponible sur sourceforge, il serait bon de tout sauvegarder avant que ça disparaisse.

Voici le lien du précieux sésame : http://sourceforge.net/projects/phpbb/files/OldFiles/

_________________

Vérification de l’orthographe pour Mozilla Firefox : http://addons.mozilla.org/fr/firefox/a ... alecte-fr/
Vérification de l’orthographe pour Google Chrome : http://chrome.google.com/webstore/sear ... ecte?hl=fr
modérateur : [b][color=#00AA00][/color][/b]
administrateur : [b][color=#AA0000][/color][/b]
membre : [b][color=#006699][/color][/b]
[ img ]


Haut
Profil Citer
Der Siebte Schatten
Sujet du message : Re: Combler les lacunes en l'absence de jQuery
Publié : 09 oct. 2016 17:53
Modérateur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 2389
Inscription : 09 févr. 2010 21:10
PC Rétro : Toshiba Satellite 220CS (WFW3.11/95/NT4)
 
Je pense du coup qu'il serait bon de laisser les utilisateurs avec des navigateurs modernes choisir le thème prosilver (il n'est pas proposé pour l'instant dans le PCU), et laisser subsilver2/Legacy pour les navigateurs d'avant 2009. Cela permettra de contenter, j'espère tout le monde, notamment ceux qui veulent avoir les dernières fonctionnalités de phpBB... :roll:

_________________

[ img ]
[ img ]
Dunkle Träume, Roter Mond... In den Bäumen lauert ein Phantom...


Haut
Profil Citer
Big Monstro
Sujet du message : Re: Combler les lacunes en l'absence de jQuery
Publié : 09 oct. 2016 18:23
Administrateur
Avatar de l’utilisateur
En ligne
 
Messages : 3242
Inscription : 27 juin 2003 15:15
PC Rétro : 80486 DX2/66, MS-DOS & Windows 95
 
Ah non, je ne déclare pas forfait :mrred:.

La quasi-totalité des fonctions de subsilver2 sont présentes dans Legacy, j'ai largement amélioré ce style en six mois de travail (pas uniquement en termes de compatibilité) et j'ai même rajouté des avantages ergonomiques de prosilver dans Legacy. Ton commentaire semble vouloir dire "laisse tomber" mais je ne vais pas arrêter de si bon chemin. Ce qui est possible avec jQuery doit l'être avec le JavaScript de base. jQuery n'est qu'une bibliothèque pour simplifier la vie des codeurs. Mais ce n'est fondamentalement que du code JavaScript.


Haut
Profil Citer
DoomQuakeKeen
Sujet du message : Re: Combler les lacunes en l'absence de jQuery
Publié : 09 oct. 2016 18:25
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 2341
Inscription : 05 avr. 2012 17:38
PC Rétro : Amstrad PC2086/30 8086 640K RAM 32Mo RLL
 
Euh en fait je ne comprends pas ce que tu reproche à subsilver2, c'est le thème par défaut du forum et il est un peu plus au couleur de celui-ci que l'horreur de prosilver que tu peut néanmoins définir via le PCU.

Il n'y a que Legacy qui est une réécriture/modification de subsilver2 pour le rendre entièrement compatible avec tout les navigateurs d'avant 2009.

_________________

Vérification de l’orthographe pour Mozilla Firefox : http://addons.mozilla.org/fr/firefox/a ... alecte-fr/
Vérification de l’orthographe pour Google Chrome : http://chrome.google.com/webstore/sear ... ecte?hl=fr
modérateur : [b][color=#00AA00][/color][/b]
administrateur : [b][color=#AA0000][/color][/b]
membre : [b][color=#006699][/color][/b]
[ img ]


Haut
Profil Citer
Afficher : Trier par : Ordre :
Répondre   Page 3 sur 8  [ 120 messages ]
Revenir à « Projets aboutis » | Aller sur la page « 1 2 3 4 58 »
Aller :