Forums Développement Multimédia

Aller au contenu

Bug sur textTransform.url ?

CODE Actionscript

22 réponses à ce sujet

#1 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 17 January 2003 - 17:51 PM

Bonjour,

Je suis semble-t'il la énième personne à faire un éditeur sur ce forum, mais voilà, j'ai un problème qui n'a pas encore été rencontrer sur les autres post:

L'utilisateur peut sélectionner une portion de texte et en faire un lien,
Je m'attaque donc au style(textFormat) suivant:

format.url = "www.toto.ch";
format.target = "_blank";
format.underline = true;
format.color = 0x0000FF;

J'applique ensuite le style et tout marche parfaitement...

Maintenant, quand l'utilisateur veut enlever le liens, il sélectionne la portion de texte et derrière j'attaque de nouveau les mêmes propriétés.

format.url = "";
format.target = "";
format.underline = false;
format.color = 0x333333;

Seulement voilà, les seuls choses qui changent sont format.target et format.underline. l'URL et le Target reste aux premières valeur.

J'ai aussi essayé:
format.url = null;
format.target = null;

Ce qui est sûr c'est que quand je met d'autre propriétés tel que:
format.url = 'zut';
format.target = 'bof';
...les changements sont effectués correctement.

J'en déduis donc qu'il s'agit d'un bug.

Est-ce que quelqu'un sait ou on peut trouver un script le corrigeant ?

Merci d'avance :wink:

#2 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 17 January 2003 - 18:03 PM

Salut
mets un blan entre tes guillemets
format.url = " ";
format.target = " ";
:wink:

#3 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 17 January 2003 - 18:04 PM

please!!! ne pas cries au bug, pour un simple oubli, stp!!! :wink:

#4 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 17 January 2003 - 18:12 PM

Je n'ai pas crier au bug, cf point d'interrogation à la fin du sujet 8)

Je viens d'essayer avec ta méthode, mais le seul résultat que j'obtiens, c'est une URL clickable vers " " (c'est à dire un espace).

Ce que je cherche à faire, c'est d' enlever complétement la balise dans htmlText.

Avec ta méthode, j'obtiens simplement un lien qui ne réagit pas quand on clique dessus. Mais le curseur de la souris change toujours quand je passe sur cette portion de texte...

#5 ekameleon

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 20167 messages

Posté 17 January 2003 - 18:13 PM

hello smile.gif
1 - tu peux pas donner tout ton code ?
2 - montexte.html = false ?

bye smile.gif

#6 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 17 January 2003 - 18:29 PM

Voilà, le problème se situe à mon avis dans la propriété :

textField.prototype.tfLink = function()

à chercher dans le movieClip "TextBox", frame 1

Il y'aura une erreur car je n'ai pas join le fichier XML, mais celà ne gène pas l'éxecution...

:!: C'est en dévlopement et donc pas encore jolijoli à voir (le code) :oops:

Merci d'avance

Olivier.

Fichier(s) joint(s)



#7 ekameleon

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 20167 messages

Posté 17 January 2003 - 18:44 PM

regarde ce post peut t'aider smile.gif là je manque un peu de temps smile.gif
Sur le forum beaucoup de post parlent d'éditeurs de texte tout fait. Cherche un peu avec le moteur de link:recherche (j'avous qu'il faudra bien choisir tes mots clé pour ta recherche)
bye smile.gif

#8 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 17 January 2003 - 18:54 PM

En réalité j'ai déjà pendant un peu plus d'une heure le post miraculeux,

Le seul éditeur que j'ai trouvé sur le forum qui gère les liens ne permet malheureusement pas de les enlever (à part en effacent le texte).

Je crois avoir bien chercher de ce côté, malgré tout.

La seul chose que j'ai trouvé est sur un site allemand qui déclare justement qu'il y'a un bug à ce niveau. Il propose un prototype pour surclassé la propriété, mais le dis script fonctionne encore moins bien que l'originale...
:!: Je n'ai cepandant pas trouver d'annonce officiel pour ce bug. Ce n'en est donc peut-être pas un...

Quelqu'un à une idée ?

Olivier.

#9 ekameleon

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 20167 messages

Posté 17 January 2003 - 19:22 PM

un truc ?? pourquoi tu fais boucler ton clip avec 2 frames ? un conseil évite.
je vais regarder ton code si j'ai un peu de temps, mais je peux rien te promettre smile.gif
A+ smile.gif

#10 ekameleon

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 20167 messages

Posté 17 January 2003 - 19:25 PM

regarde :
Selection.addListener(nouvelEcouteur) et onSetFocus :
http://www.flash-forum.net/aide/Flash/html..._asd_09_s8.html
http://www.flash-forum.net/aide/Flash/html..._asd_09_s2.html
bye smile.gif

#11 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 18 January 2003 - 08:37 AM

J'ai déjà essayer de faire selon ta proposition ci-dessus, et voilà pourquoi celà ne marche pas (probablement du à mon incompétence d'ailleurs).

J'ai besoin d'enregistrer la sélection à chaque changement de position ailleurs que dans les propriétés Selection.getBeginIndex et Selection.getEndIndex. En effet, au moment ou je clique sur un bouton, le focus est transmis au composant bouton, l'objet Sélection s'occupe donc du bouton; donc les propriété qui m'intéresse sont égal à -1 (aucune sélection).

De plus, l'événement onSetFocus ne se déclenche qu'au moment ou la zone texte obtient le Focus. Et il n'existe à mon avis pas de propriété onSelectionChange... Il m'est donc impossible de procéder à la sauvegarde des propriétés getIndexBegin et get...End instantanément.

Une des solutions seraient de créer deux fonction récursive qui s'appèle mutuellement afin de remplacer la deuxième frame. Mais je ne suis pas sûr que celà soit rentable au niveau de l'exécution.

#12 neolao

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3827 messages

Posté 18 January 2003 - 13:59 PM

moi j'ai jamais fait d'éditeur, mais si tu utilises un XML (dans flash) pour ranger tes changements, tu peux les déplacer, modifier, effacer facilement

et t'as une fonction qui traduit ton XML pour afficher en permanence

#13 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 18 January 2003 - 15:24 PM

C'est une solution envisageable, puisque le contenu est stocké en XML sur le serveur. Jusque là j'avais préférer traiter le XML sur le serveur, parce que les XSLT, c'est quand même plus rapide à implémenter que le traitement d'une arborescence(un peu complexe s'entend) sous flash...

Merci du conseil.

#14 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 20 January 2003 - 18:04 PM

Finalement j'ai opté pour la version suivante :

Je set les propriété url et target avec des valeurs bidons ('toto' et 'toto')

Puis je recherche dans le textField.htmlText le texte <a HREF="toto" TARGET="toto">. Je les supprimes ainsi que la balise '</a>' suivante.

C'est du bricolage mais ça marche, sans trop ralentir en plus.

Pour moi c'est quand même un bug franchement. Cette fois je le dis vraiment, na ! tongue.gif

En tout cas merci pour tout !

#15 neolao

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 3827 messages

Posté 20 January 2003 - 19:38 PM

un bug, c'est quand ca devrait marcher et que ca marche pas
qui dit que ca devrait marcher ? c'est macromedia
sinon moi j'dis
tiens, j'crée un carré, avec la fonction carre.transform3D() ca devrait me le mettre en 3D, donc c'est un bug ...

qui es-tu pour crier au bug ?
différence entre bug et contrainte ...

#16 Mouette1327249797

  • Members
  • PipPipPipPipPipPipPipPip
  • 982 messages

Posté 20 January 2003 - 19:39 PM

hello,

bin moi j'en ai fait un d'editeur, qui croupit ds les archives du forum depuis qques temps (c'est ma faute, je ne m'en suis jamais occupé), visible ICI

je n'ai pas le player 6 sur le pc ou je suis, mais c'est vrai que de memoire cet éditeur ne permettait pas d'enlever l'url d'une partie du texte.

mais moi ce que je ferais à ta place, c'est non pas essayer de fare un traitement sur le html correspondant, car la bienvenue les emmerdes, mais plutot remplacer ce texte formaté par le meme texte non formaté.

et pour ce qui est de la gestion du beginSelection et endSelection, ca a été sujet a pas mal de discussions, il y a plusieurs manières de gérer la chose, moi pour ma part j'étais passé par un enterframe, mais il doit etre possible de faire autrement.
ds tous les cas il faut que tu stockes ces valeurs ds des variables AVANT de perdre le focus de ton champ de texte.

je t'invite qd meme à ouvrir mon fichier fla mis en ligne ds le lien au dessus, j'avais posé pas mal de commentaires, ca devrait t'aider à comprendre qques trucs.

a+
Mouette

#17 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 20 January 2003 - 23:05 PM

J'ai été voir ton éditeur il y'a quelque jour Mouette. Il est bien, et j'ai fait un peu la même chose.

QUOTE
un bug, c'est quand ca devrait marcher et que ca marche pas


Je suis prêt à retirer ce que j'ai dit à propos du bug. Uniquement si on admet qu'il y'a une erreur dans la documentation du Soft :twisted:

TextFormat.url

Disponibilité

Flash Player 6.

Usage

monObjetTextFormat.url

Description

Propriété ; indique l’URL à laquelle le texte de ce format est lié.


Et là encore, si quelqu'un trouve la solution, je suis prêt à retirer ce que j'ai dis. J'en viendrai alors à critiquer l'ergonomie.

Pour dire tout ça, je suis un simple utilisateur.
Et comme en plus je suis un mauvais Chrétien, je ne crois que ce que je vois. :wink:

#18 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 20 January 2003 - 23:11 PM

la doc est juste !!
mais je crois me souvenir ke tu as un ecouteur sur les champs texte (addListener)>> regarde peut etre de ce coté?? :wink:

#19 Mouette1327249797

  • Members
  • PipPipPipPipPipPipPipPip
  • 982 messages

Posté 20 January 2003 - 23:15 PM

QUOTE
Il est bien, et j'ai fait un peu la même chose.


tu travailles qd meme super vite alors!!
car je vois qques posts plus tot que samedi, il y a 2 jours donc, tu étais en train de demander comment mémoriser le début et la fin de sélection

or c'est la base absolue d'un éditeur.
je te dis ca car pour moi cet éditeur m'a demandé pas mal de temps, donc je vois mal comment tu fais pour faire la meme chose en 2 jours.
impressionnant...

pour ce qui est de l'url, tu as lu ce que j'ai mis au dessus? je pense que c'est la meilleure manière de contourner facilement le probleme, tu as essayé?

et pour la doc, je ne peux pas me prononcer, je n'ai pas flash sur ce pc pour tester.

a+
Mouette

#20 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 20 January 2003 - 23:18 PM

Oui, il y'a un écouteur. Mais c'est bon, le problème est réglé. Celà marche bien en tapant directement dans le texte. Les temps de réponses sont raisonnables.

Je posterais un .fla ces prochains jours à tout hazard, dès que j'aurais eu le temps de remettre de l'ordre dans les commentaires.

Merci à tous et bonne nuit :arrow: :idea: :?:

#21 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 21 January 2003 - 09:34 AM

[quote]
tu travailles qd meme super vite alors!!
[/quote]

:oops: Flatteur va, c'est qu'à la base je suis programmeur. Mon principal problème est surtout de ne pas connaître super bien le modèle objet de Flash. Notamment ces petites spécialités...

Mais d'un autre côté, mon éditeur est bien moins compliqué que le tiens. En faite c'est un composant contenant un bouton Bold, Italic, Titre, et link que je lie à un champ texte.

Seul problème, ce n'est pas très joli. J'attends avec impatience que Action Script Reference 2nd edition arrive dans ma librairie à ce niveau. Afin qu'on m'explique dans quel cas utiliser quoi entre : prototype, composant ou classe.

[quote]
pour ce qui est de l'url, tu as lu ce que j'ai mis au dessus? je pense que c'est la meilleure manière de contourner facilement le probleme, tu as essayé?[/quote]

Non, pas eu le temps (il faut que mon projet avance), mais j'essaierai surement dans la journée.

J'avais d'ailleur remarqué que tu cherchais dans ton éditeur comment sélectionner une ligne entière. Personnelement, je prend la position du curseur, et je fais une recherche dans textField.Text sur le caractère '\r' qui précède et celui qui suit. J'obtiens ainsi un index de départ et d'arrivée.

Pour ce qui est des écouteurs. Ceux du champs texte ne serve à rien au niveau de la sélection. Ceux de l'objet Sélection ne réagisse qu'au Focus.
La dernière solution (qui à été employée dans un ou deux éditeur) et de passer par les écouteur des objet Mouse et Key[..]. Mais il est dès lors compliqué de gérer toutes les possibilités.

Finalement j'ai opté pour un Listener Selection.onSetFocus sur mon champ texte qui crée un MovieClip bouclant sur deux Frame et enregistrant à chaque passage l'état des propriétés getBeginIndex, getEndIndex, text.scroll et getCaretIndex. Et peut-être que c'est laid comme méthode, mais c'est encore ce qui marche le mieux dans ce cas là.[/quote]

#22 supertomate

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 4147 messages

Posté 21 January 2003 - 10:09 AM

QUOTE
Listener Selection.onSetFocus sur mon champ texte qui crée un MovieClip bouclant sur deux Frame


C'est vrai que c'est pas très joli et surtout inutile car le listener est là en permanence donc il n'est pas nécessaire de le faire travailler plus. Il s'agit d'un écouteur qui par essence observe les changements d'états, de propriétés d'un objet.

#23 liad

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 56 messages

Posté 21 January 2003 - 10:14 AM

Voilà la version actuel et qui marche.

Qui sait, elle servira peut-être à quelqu'un à l'occasion...

Fichier(s) joint(s)





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)