Win3x.Org
http://www.win3x.org/win3board/

Legacy [style de forum compatible anciens navigateurs]
http://www.win3x.org/win3board/viewtopic.php?f=68&t=24855
Page 4 sur 8
Auteur :  Big Monstro [ 12 oct. 2016 23:53 ]
Sujet du message :  Re: Combler les lacunes en l'absence de jQuery

Et une lacune en moins sur Legacy :D

[ img ]

Cerise sur le gâteau : contrairement au style prosilver et au style subsilver2 d'origine, vous avez la possibilité de modifier votre format de date même lorsque JavaScript a été désactivé pour une quelconque raison. Vous êtes totalement affranchi de jQuery pour cette fonctionnalité, elle n'est pas belle la vie ?

Tu vois, Der Siebte Schatten, je ne laisse pas tomber l'affaire ; je persévère :razz:

Auteur :  Vorro [ 13 oct. 2016 19:39 ]
Sujet du message :  Re: Combler les lacunes en l'absence de jQuery

Alors que tout le monde se casse la tête pour aller de l'avant et rendre le tout de moins en moins compatible, tu travailles pour la meilleure interopérabilité possible.

En gros, tu marches à contre sens, mais c'est très beau et vaillant. :lol:

Auteur :  Big Monstro [ 01 nov. 2016 03:16 ]
Sujet du message :  Re: Problème avec l'insertion des BBcode (JavaScript)

Après analyse des templates de phpBB2 relatifs à l'éditeur de messages, il apparait qu'il n'y a pas de solution au problème de IE4 ! :sad:

IE4 (mais aussi d'anciennes versions d'Opera, le souci n'est pas spécifique à un seul navigateur) ne maintient pas la sélection de texte dès qu'on clique sur un bouton. La mise en forme autour de cette sélection n'est pas possible.

En outre, si on tente d'insérer une balise pour ajuster la taille de la police, on obtient un message d'erreur (exactement comme sur phpBB3 lorsqu'on n'utilise pas Legacy). Idem pour la couleur, qui recourt aussi à un <select> (il s'agit là d'une différence notable entre l'éditeur de messages sous phpBB2 et phpBB3). Ce qui mérite d'être souligné, c'est que tous ces soucis d'insertion de balises et de bugs pour la couleur/taille s'observent également avec IE5 16-bit. Moi qui avait toujours cru qu'il était possible de participer à un forum phpBB2 sans encombre sous Windows 3.11, je m'étais trompé (du moins pour le Javascript, peut être que l'envoi de messages fonctionnait correctement ?).
Finalement, IE5 16-bit n'a d'IE5 que le nom ! Toutes mes observations (depuis le mois de mars) vont en ce sens. Que ce soit en matière de JavaScript ou CSS, son comportement semble identique à IE 4.01 SP2 et beaucoup moins à IE5 32-bit. Par exemple, la propriété JavaScript document.getElementById est gérée par toutes les versions d'IE5 sauf... la version pour Windows 3.1 et NT 3.51 (à l'instar de IE4). Quant aux styles CSS, l'exemple suivant est édifiant : http://exanimo.com/examples/css/ie4ever.html >>> le carré s'affiche en rouge sous IE5 16-bit et IE4, en bleu sur tous les autres navigateurs (IE5 32-bit compris). Un hack CSS visant pourtant très explicitement IE4 s'applique ainsi à IE5 16-bit ??? C'est un IE4 déguisé ! Les utilisateurs de Windows 3.1 et de Windows NT 3.51 ont été roulés dans la farine par Microsoft en croyant installer ce pseudo IE5 :razz:
Bon, je laisse tomber le support des navigateurs inférieures à IE5 32-bit. Que ce soit IE4, IE5 16-bit, Opera 7 et versions antérieures, l'éditeur de messages devrait continuer de fonctionner comme aujourd'hui, ça restera en l'état. A la limite, je pourrais bloquer l'insertion de balises via ces navigateurs, mais cela rajouterait du code qui pourrait avoir des effets secondaires. Surtout, l'insertion de balises fonctionnent encore (bien que manière aussi boiteuse) sur les styles non modifiés de phpBB. Ce serait un comble que Legacy n'autorise pas quelque chose que permettent les styles par défaut. En gros, on peut insérer des balises via IE4, mais la mise en forme à la volée de sélection de texte n'est pas et ne sera pas prise en charge.

Auteur :  DoomQuakeKeen [ 02 nov. 2016 14:59 ]
Sujet du message :  Re: Problème avec l'insertion des BBcode (JavaScript)

Il s'agit de très peu qui est à peine dérangeant, par rapport à tout ce qu'il est maintenant possible de faire grâce à ton travail ce soucis est vraiment mineur :wink:

Félicitation à toi en tout cas pour tout le temps que tu as passé à rendre ce site le plus compatible possible avec les anciens navigateurs :approve:

Auteur :  Big Monstro [ 03 nov. 2016 16:54 ]
Sujet du message :  Re: Problème avec l'insertion des BBcode (JavaScript)

Merci DoomQuakeKeen (ainsi que Vorro) ^^.

La lacune n°2, en lien avec le menu de notifications, n'est plus :approve:.

Bon, reste à changer le comportement de la touche de tabulation !

Si vous faites apparaitre ce menu et que vous cliquez ensuite n'importe où en dehors du dit menu, celui-ci disparait. Le lien 'Réduire' a été supprimé, puisqu'il est devenu caduc :D.

Pour la deuxième fois, toute la partie CSS/HTML/Javascript en lien avec ce menu a été complètement réécrite ou presque. Il ne s'agit plus d'un <table> mais de <div>, sa largeur est fixée à 310 px tandis que sa hauteur varie mais ne peut excéder guère plus. En cas de débordement de contenu, une barre de défilement apparait. Sous IE9 et ultérieur, un effet esthétique d'ombre est même de la partie.

Enfin, j'ai consacré beaucoup de temps à prévenir l'apparition d'un affreux bug d'affichage en lien avec les <select> sous IE5/IE6

http://www.indiansinfrance.com/images/cssHoverBug.gif

Ce bug est (ou était) connu des développeurs Web ; la solution que j'ai retenue consiste à masquer ou à décaler le <select> incriminé lorsque le menu de notifications est visible. Cela n'a l'air de rien comme ça, mais étant donné qu'il a fallu que je recense tous les <select> possibles et définir des règles en fonction de la hauteur du menu (dépendant du nombre de notifications qui y sont affichées) et du contenu (dynamique et non statique, puisque nous sommes sur un site en phpBB), j'y ai consacré pas mal d'heures de travail rien que pour ça. C'est fou comme la conception d'un style compatible avec les vieux navigateurs peut être chronophage :o. Je vais encore vérifier si le tout est parfait via une batterie de tests, mais ça devrait être bon... :cool:
Que de chemin parcouru depuis le mois de mars. D'un style peu abouti, Legacy est devenu une version améliorée de subsilver2 (plusieurs changements sont issus de prosilver).

Sous IE5+ (32-bit), tout semble parfait. J'ai encore peaufiné certaines choses dernièrement. La seule "lacune" résiduelle concerne l'absence de changement de comportement de la touche tabulation.

Dans une bonne semaine, j'envisage de passer le style à sa version "définitive" 1.0 (pour phpBB 3.1.10, bien que ça soit parfaitement compatible avec phpBB 3.1.9 :lol:). Je proposerai en téléchargement les fruits de mon travail (cela fait un bon moment que j'envisage de le partager). Sait-on jamais si quelqu'un souhaite l'ajouter à son propre forum (que ce soit en style par défaut ou alternatif) :angel:. D'ici là, peut être aura-t-on comblé la dernière lacune ?

Auteur :  Deksor [ 03 nov. 2016 18:58 ]
Sujet du message :  Re: Problème avec l'insertion des BBcode (JavaScript)

Peut-être que en attirant d'autres personnes à regarder dans le code, cela fera peut-être plus de mains pour le corriger encore plus, et peut-être même trouver qu'est-ce qui cloche pour les os 16 bits ? (si c'est pas un problème insolvable)

Auteur :  KeetKhat [ 03 nov. 2016 21:11 ]
Sujet du message :  Re: Changer le comportement de la touche de tabulation

Big Monstro a écrit :
Bon, reste à changer le comportement de la touche de tabulation !
J'ai trouvé un lien qui permet de faire appel à keydown sans JQuery, ça vaut le coup d'essayer

Auteur :  Big Monstro [ 03 nov. 2016 22:12 ]
Sujet du message :  Re: Changer le comportement de la touche de tabulation

Merci pour ce lien, LiveKiller44, cela pourrait m'être très utile par la suite.

Cependant, il y a un point d'ombre qui reste à éclaircir... comment faire en sorte que le changement de comportement n'ait lieu qu'entre les balises code et /code et pas ailleurs ?

Si le focus se trouve dans l'élément <textarea> MAIS en dehors d'une zone de code, le comportement normal de la touche de tabulation doit être préservé ; c'est comme ça que ça fonctionne par défaut sous phpBB 3.1 et IE9+.

Pour que vous puissiez bien visualiser la chose, basculer vers prosilver. Cliquez sur la touche de tabulation puis insérer une balise code et refaites la même opération à l'intérieur de la zone du code. Vous voyez la différence ? Comment répliquer ça sans jQuery ? Je n'en ai aucune idée et c'est bien pour ça que je fais appel à vous ^^

Il faut trouver le if (on se trouve à l'intérieur d'une balise code) {} mais quoi mettre dans la condition ?

Si ça peut vous aider, voici les ressources utilisées sur Legacy : Le problème de jquery.min.js, c'est que son contenu est absolument indigeste; core.js est plus lisible, et on peut y lire ceci :
/**
* Check if cursor in textarea is currently inside a bbcode tag
*
* @param {object} textarea Textarea DOM object
* @param {Array} startTags List of start tags to look for
*      For example, Array('[code]', '[code=')
* @param {Array} endTags List of end tags to look for
*      For example, Array('
')
*
* @returns {boolean} True if cursor is in bbcode tag
*/
phpbb.inBBCodeTag = function(textarea, startTags, endTags) {
var start = textarea.selectionStart,
lastEnd = -1,
lastStart = -1,
i, index, value;

if (typeof start !== 'number') {
return false;
}

value = textarea.value.toLowerCase();

for (i = 0; i < startTags.length; i++) {
var tagLength = startTags.length;
if (start >= tagLength) {
index = value.lastIndexOf(startTags, start - tagLength);
lastStart = Math.max(lastStart, index);
}
}
if (lastStart === -1) {
return false;
}

if (start > 0) {
for (i = 0; i < endTags.length; i++) {
index = value.lastIndexOf(endTags, start - 1);
lastEnd = Math.max(lastEnd, index);
}
}

return (lastEnd < lastStart);
};


/**
* Adjust textarea to manage code bbcode
*
* This function allows to use tab characters when typing code
* and keeps indentation of previous line of code when adding new
* line while typing code.
*
* Editor's functionality is changed only when cursor is between
*
 and 
bbcode tags.
*
* @param {object} textarea Textarea DOM object to apply editor to
*/
phpbb.applyCodeEditor = function(textarea) {
// list of allowed start and end bbcode code tags, in lower case
var startTags = ['
', '[code='],
      startTagsEnd = ']',
      endTags = ['
'];

if (!textarea || typeof textarea.selectionStart !== 'number') {
return;
}

if ($(textarea).data('code-editor') === true) {
return;
}

function inTag() {
return phpbb.inBBCodeTag(textarea, startTags, endTags);
}

/**
* Get line of text before cursor
*
* @param {boolean} stripCodeStart If true, only part of line
* after
 tag will be returned.
   *
   * @returns {string} Line of text
   */
   function getLastLine(stripCodeStart) {
      var start = textarea.selectionStart,
         value = textarea.value,
         index = value.lastIndexOf('\n', start - 1);

      value = value.substring(index + 1, start);

      if (stripCodeStart) {
         for (var i = 0; i < startTags.length; i++) {
            index = value.lastIndexOf(startTags[i]);
            if (index >= 0) {
               var tagLength = startTags[i].length;

               value = value.substring(index + tagLength);
               if (startTags[i].lastIndexOf(startTagsEnd) !== tagLength) {
                  index = value.indexOf(startTagsEnd);

                  if (index >= 0) {
                     value = value.substr(index + 1);
                  }
               }
            }
         }
      }

      return value;
   }
... mais la présence d'un $, donc un appel à jQuery :disapprove:

Auteur :  tortipouss [ 03 nov. 2016 23:43 ]
Sujet du message :  Re: Changer le comportement de la touche de tabulation

jquery.js 1.11.0 lisible est disponible sur le site officiel http://jquery.com/.
http://code.jquery.com/jquery-1.11.0.js

Auteur :  Big Monstro [ 18 nov. 2016 03:27 ]
Sujet du message :  Re: Legacy [style de forum compatible anciens navigateurs]

Merci tortipouss, je suis finalement parvenu à obtenir ce que je cherchais :cool:.
Deksor a écrit :
Peut-être que en attirant d'autres personnes à regarder dans le code, cela fera peut-être plus de mains pour le corriger encore plus, et peut-être même trouver qu'est-ce qui cloche pour les os 16 bits ? (si c'est pas un problème insolvable)
Cette fois, ça y est : je distribue mon style de forum :D.

Je vais marquer une pause dans le développement mais le style continuera d'évoluer, d'où l'emplacement de ce topic (issu de fusions :smile:).
LudaWeb01 a écrit :
ça évite par ailleurs de devoir installer un navigateur comme Opera ou Firefox (qui présentent quand même quelques problèmes d'affichage avec Win3x.Org pour les anciennes versions)
Concernant Firefox, toutes les versions sont compatibles, même la version 1.0 sortie en 2004. Quant à Opera, c'est plus délicat vu que ce navigateur accusait souvent un certain retard au niveau de la prise en charge JavaScript jusqu'à l'adoption de Blink ! Il est ainsi plus facile de supporter IE 5.0 que l'alternative Opera 7.0, pourtant bien plus récent (2004 au lieu de 1999). Cela dit, je me suis surtout concentré sur IE durant le développement de Legacy, puisque c'est le navigateur par défaut de Windows (ça évite de devoir en installer un autre avant de profiter de Win3x.Org, comme tu l'as écrit)

Auteur :  Vorro [ 18 déc. 2016 21:44 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

C'est vraiment beaucoup plus propre et épuré. Je vais faire quelques captures avec mon SuperAero, le Compaq Contura Aero 4/33C le plus puissant au monde :

Intel i486SX @ 33 Mhz
Disque Dur en Carte CompactFlash 16Go Transcend Industrial
20 Mo de RAM
Résolution 480x640 et en 16 couleurs.
Windows 95

Je rééditerai le message.

Auteur :  Big Monstro [ 18 déc. 2016 21:48 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

Tu ne peux pas atteindre la résolution 800x600 en 16 couleurs ?

En 640x480, le confort d'utilisation risque d'être un peu altéré.

Auteur :  Vorro [ 18 déc. 2016 21:52 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

Non, impossible, la carte vidéo est limitée sur l'écran à matrice passive mais pas sur écran externe où il est possible d'atteindre 800x600. Mais justement, puisque la résolution est moindre, pourquoi ne pas essayer de voir le résultat avec toutes les optimisations que tu as faites ?

Auteur :  Big Monstro [ 18 déc. 2016 21:58 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

Oui, tu peux, bien évidemment.

Mais je précise que l'interface actuelle est optimisée pour IE 5.5 avec une résolution minimale de 800x600, ce qui est déjà beaucoup plus bas que le subSilver2 d'origine pour phpBB 3.1.

Auteur :  Vorro [ 18 déc. 2016 22:42 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

Je suis en train de tester le site sur mon Contura Aero (SuperAero, je précise). Ca charge assez vite (5 secondes maximum)malgré la lenteur du CPU. Le rendu est vraiment très bien, tu le verras avec les captures ! :lol:

Je précise que je navigue avec Windows 95 et IE 5.50.4807.2300.

Auteur :  Big Monstro [ 18 déc. 2016 22:48 ]
Sujet du message :  Re: Win3x.org : Propositions d'évolutions

Sur ton i486SX @ 33 MHz, le chargement des menus de [ img ] raccourcis, de [ img ] notification, du [ img ] menu perso ou des outils de sujets [ img ] n'est pas trop long ?

Il se peut qu'il y ait un temps de latence à l'ouverture du premier menu déroulant, à cause du recours à l'iframe (et accessoirement du JavaScript, je n'utilise pas de CSS3).

En plus, t'es en dessous de la config mini officielle pour IE 5.5 (486DX2/66)

Page 4 sur 8 Fuseau horaire sur UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/