Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-05-2005, 08:10   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
xml load mit link

hallo leuts

habe folgendes problem und hab keine ahnung wie ich das lösen soll. ich lade eine xml datei in ein textfield und möchte auf die einzelnen texte links setzen.

mein script sieht so aus.

ActionScript:
  1. newsliste = new XML();
  2. newsliste.ignoreWhite = true;
  3. newsliste.onLoad = function(success) {
  4.         if (success) {
  5.                 _global.newstext = [];
  6.                 _global.newslink = [];
  7.                 _global.id = [];
  8.                 _global.popup = [];
  9.                 _global.xmlcounter = newsliste.firstChild.childNodes.length;
  10.                 trace(_global.xmlcounter);
  11.                 for (var i = 0; i<_global.xmlcounter; i++) {
  12.                         _global.newstext[i] = newsliste.firstChild.childNodes[i].attributes.text+"nn";
  13.                         _global.newslink[i] = newsliste.firstChild.childNodes[i].attributes.link;
  14.                         _global.id[i] = newsliste.firstChild.childNodes[i].attributes.id;
  15.                         _global.popup[i] = newsliste.firstChild.childNodes[i].attributes.popup;
  16.                         anz.text = _global.newstext;
  17.                 }
  18.         } else {
  19.                 anz.text = "Fehler beim Laden der XML datei";
  20.         }
  21. };



nun hab ich versucht den link so auf die einzelnen texte zu setzen, klappt aber nicht.


ActionScript:
  1. _global.newstext[i].text.onRelease = function() {
  2.         getURL("http://www.google.ch");
  3. };


geht nicht und ich weiss nicht mehr weiter, hat jemand eine idee?

danke und flash on
bamsi ist offline   Mit Zitat antworten
Alt 02-05-2005, 14:59   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Mach deine Textfelder html-fähig und setz bspw. folgendes Script:
PHP-Code:
meineTextfeldinstanz.htmlText "<a href='http://www.flashforum.de'><u>http://www.flashforum.de</u></a>"
  Mit Zitat antworten
Alt 02-05-2005, 15:32   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
danke für die antwort, das könnte ich so machen. aber gibts keine variante mit dem link im AS??
bamsi ist offline   Mit Zitat antworten
Alt 02-05-2005, 16:03   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
aber gibts keine variante mit dem link im AS??
Was meinst du damit?
  Mit Zitat antworten
Alt 02-05-2005, 16:26   #5 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
am sinnvollsten wäre es, den <a> Tag direkt in die xml zu schreiben. das nachträglich bei einem dynamischen Text in Flash zu tun, ist sehr kompliziert...
pokepika ist offline   Mit Zitat antworten
Alt 03-05-2005, 01:19   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Es gibt natürlich die Möglichkeit, HTML-Formatierungen als CDATA-Sequenz eines Nodevalues zu übergeben:
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<link><![CDATA[<textformat leading="2"><p align="left"><font face="Arial" size="16" color="#000000"><b>
<a href='http://www.flashforum.de'><u>http://www.flashforum.de</u></a>
</b></font></p></textformat>]]>
</link>
Der Nodevalue muss nur noch ausgelesen und dem entsprechenden Textfeld wie beschrieben zugewiesen werden.

Man kann das ganze natürlich auch quasi halbdynamisch machen, indem man die HTML-Formatierung statisch in Variablen setzt und nur Roh-Texte übergibt...
  Mit Zitat antworten
Alt 03-05-2005, 08:25   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
ok, ich habe den <a> tag nun ins xml geschrieben, bekomme aber ein neues problem

ich habe mein textfeld mit der instanz "anzeige". und dazu eine scrollBar Komponente um den text zu scrollen. wenn ich das so mache zeigt mein textfeld kein HTML, wenn ich aber dem textfeld die variable "anzeige" gebe und die instanz entferne, dann zeigt es HTML, wird aber nicht mehr gescrollt mit der Komponente...hmmm, hoffe das versteht man.

wie mach ich denn das....einerseites brauche ich doch einen instanzennamen um zu scrollen, sobald ich den aber vergebe zeigt das feld kein HTML mehr...

danke
bamsi ist offline   Mit Zitat antworten
Alt 03-05-2005, 09:41   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
so, habe das ganze nun doch irgendwie gelöst....danke für die hilfe...

ActionScript:
  1. counter = 0;
  2. linkStart = "<a target='_blank' href='";
  3. linkEnd = "'>hier mehr</a>";
  4. newsliste = new XML();
  5. newsliste.ignoreWhite = true;
  6. newsliste.onLoad = function(success) {
  7.     if (success) {
  8.         _global.newstext = [];
  9.         _global.newslink = [];
  10.         _global.id = [];
  11.         _global.popup = [];
  12.         _global.xmlcounter = newsliste.firstChild.childNodes.length;
  13.         for (var i = 0; i<_global.xmlcounter; i++) {
  14.             _global.newslink[i] = newsliste.firstChild.childNodes[i].attributes.link;
  15.             _global.newslink[i] = linkStart+_global.newslink[i]+linkEnd;
  16.             _global.newstext[i] = newsliste.firstChild.childNodes[i].attributes.text;
  17.             _global.newstext[i] = _global.newstext[i]+_global.newslink[i]+"\n\n";
  18.             _global.id[i] = newsliste.firstChild.childNodes[i].attributes.id;
  19.             _global.popup[i] = newsliste.firstChild.childNodes[i].attributes.popup;
  20.             //  meinLink = "<a href='"+_global.newslink[i]+"' target='_blank'>hier mehr"+"</a>";
  21.         }
  22.         anz.htmlText = _global.newstext;
  23.     } else {
  24.         anz.text = "Fehler beim Laden der XML datei";
  25.     }
  26. };
bamsi ist offline   Mit Zitat antworten
Alt 03-05-2005, 10:54   #9 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
hab schon wieder ein neues problem

das script funktioniert super. nun möchte ich aber wenn man auf mehr klickt nicht eine <a href> ausführen, sonder eine function in flash....aber keine ahnung wie...hat jemand eine idee??



ActionScript:
  1. linkStart = "<br><a target='_blank' href='";
  2. linkEnd = "'>mehr>></a>";
  3. newsliste = new XML();
  4. newsliste.ignoreWhite = true;
  5. newsliste.onLoad = function(success) {
  6.     if (success) {
  7.         _global.newstext = [];
  8.         _global.newslink = [];
  9.         _global.id = [];
  10.         _global.popup = [];
  11.         _global.xmlcounter = newsliste.firstChild.childNodes.length;
  12.         for (var i = 0; i<_global.xmlcounter; i++) {
  13.             _global.newslink[i] = newsliste.firstChild.childNodes[i].attributes.link;
  14.             if (_global.newslink[i] != "") {
  15.                 _global.newslink[i] = linkStart+_global.newslink[i]+linkEnd;
  16.             }
  17.             _global.newstext[i] = newsliste.firstChild.childNodes[i].attributes.text;
  18.             _global.newstext[i] = _global.newstext[i]+_global.newslink[i]+"\n\n";
  19.             _global.id[i] = newsliste.firstChild.childNodes[i].attributes.id;
  20.             _global.popup[i] = newsliste.firstChild.childNodes[i].attributes.popup;
  21.         }
  22.         anz.htmlText = _global.newstext;
  23.     } else {
  24.         anz.text = "Fehler beim Laden der XML datei";
  25.     }
  26. };

Geändert von bamsi (03-05-2005 um 10:55 Uhr)
bamsi ist offline   Mit Zitat antworten
Alt 03-05-2005, 11:10   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Schau dir mal in der Flash-Hilfe asfunction an...
  Mit Zitat antworten
Alt 03-05-2005, 12:44   #11 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
wie ich eine function mache weiss ich, aber geht denn sowas auch?

ActionScript:
  1. if (_global.newslink[i] != "") {
  2.                 _global.newslink[i] = this.onRelease=function () {
  3.                     trace("sdafas");
  4.                 };
  5.             }




oder wie kann ich sonst einem per xml geladenen text eine function zuweisen?
bamsi ist offline   Mit Zitat antworten
Alt 03-05-2005, 12:58   #12 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
nein, du sollst dir asfunction angucken. das ermöglicht es, durch html textfelder eine funktion auszuführen
pokepika ist offline   Mit Zitat antworten
Alt 03-05-2005, 13:39   #13 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
asfunctions sind HTML-Links auf eine Flash-interne Funktion, z.B. so:
PHP-Code:
this.meineTextfeldInstanz="<a href='asfunction:springezu,1'><u>Link</u></a>"

springezu = function (num){
   if(
num==1){
      
//tue irgendetwas
   
}

  Mit Zitat antworten
Alt 04-05-2005, 14:32   #14 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Zürich
Beiträge: 172
Vielen dank, jetzt funzt super....danke euch beiden
bamsi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele