PDA

Volledige versie bekijken : HTML, CSS en FLASH kan niet css inlezen


cosson
%Europe/Berlin %968 %2005, 23:15
Beste mensen,

Ik ben bezig met een site te maken geheel in flash. Eerst wordt site.swf file geladen. Vanuit deze file is het mogelijk om andere swf files te laden via loadMovieNum() en af te sluiten via unloadMovieNum(). Dit werkt overigens perfekt.

Per menu onderdeel heb ik een dynamisch tekst veld aangemaakt. In de eerste frame heb ik de volgende actionscript toegevoegd:

var styles = new TextField.StyleSheet();
styles.load("opmaak.css");

theText.html = true;
theText.styleSheet = styles;

var lv:LoadVars = new LoadVars();

lv.onData = function(content) {
theText.text = content;
}

lv.load("menuonderdeel1.html");

Deze actionscript leest een css file uit en een html file en voegd het samen toe aan het dynamisch tekst veld.

Neem aan dat er een menu onderdeel "over_mij.swf" is en daarin deze actionscript toegevoegd is en dat er een dynamisch tekst veld is aangemaakt. Als ik dan de swf "over_mij.swf" alleen opstart, werkt het perfekt. Als ik het via het menu doe van site.swf, werkt het niet helemaal. De html file leest hij dan wel in maar de css file past hij niet toe. Weet iemand hoe dit kan en wat de oplossing is?

Alvast bedankt

Mvg,
Tim Cosson

cosson
%Europe/Berlin %321 %2005, 07:42
Weet niemand de oplossing? Moet ik de class declareren in de site.swf file ofzo? Help me aub

Flasher
%Europe/Berlin %327 %2005, 07:51
je moet denk ik de regel theText.styleSheet = styles in de onLoad handler van de stylesheet zetten:
styles.onLoad = function() {
theText.styleSheet = style;
}

cosson
%Europe/Berlin %391 %2005, 09:24
Ik snap niet helemaal wat je bedoeld. Ik ben niet een expert op het gebied van actionscript dus geef mij het complete voorbeeld eens alsjeblief.

alvast bedankt

theFlashWizard
%Europe/Berlin %393 %2005, 09:26
var styles = new TextField.StyleSheet();
styles.load("opmaak.css");

theText.html = true;
theText.styleSheet = styles;

var lv:LoadVars = new LoadVars();

lv.onData = function(content) {
theText.text = content;
theText.styleSheet = style;
}

lv.load("menuonderdeel1.html");

zoiets gok ik..

cosson
%Europe/Berlin %433 %2005, 10:24
Bedankt, deze werkt. Maar alleen een ding nog:

In de css file heb ik staan:


.bodyText {
font-family: Arial,Helvetica,sans-serif;
font-size: 15px;
}

a:link {
font-family: Arial,Helvetica,sans-serif;
font-size: 12px;
color:#0000FF;
}

a:hover {
font-family: Arial,Helvetica,sans-serif;
font-size: 12px;
color:#FF0000;
}

Alles neemt het over, behalve met het over een link gaan dat de kleur moet veranderen in rood. Weet je hoe dat komt?

c0redump
%Europe/Berlin %434 %2005, 10:25
Hmm...dat zou op zich niet nodig zijn dacht ik...de stijl is namelijk aan het textfield object gebonden, ongeacht wat de text property hiervan is.
probeer is een onLoad event op je stylesheet uit te voeren. zoiets:

styles.onLoad = function(success:Boolean):Void {
if (success)
theText.styleSheet = styles;
else
trace("Hmm...t gaat al fout bij t laden dus...");
};

styles.load(css_url);


zo kan je iig uitsluiten dat je stylesheet bestand gewoon fout gelinkt staat.

Ik heb overigens ook ontdekt dat flash vrij streng is in wat je in je stylesheet zet. Heb je per ongeluk ergens een typo, dan werkt t meteen niet meer. Test t dus desnoods ff met een hele simpele stylesheet waar je nix anders doet dan 1 tag 1 property geven...

cosson
%Europe/Berlin %438 %2005, 10:31
Hmm...dat zou op zich niet nodig zijn dacht ik...de stijl is namelijk aan het textfield object gebonden, ongeacht wat de text property hiervan is.
probeer is een onLoad event op je stylesheet uit te voeren. zoiets:

styles.onLoad = function(success:Boolean):Void {
if (success)
theText.styleSheet = styles;
else
trace("Hmm...t gaat al fout bij t laden dus...");
};

styles.load(css_url);


zo kan je iig uitsluiten dat je stylesheet bestand gewoon fout gelinkt staat.

Ik heb overigens ook ontdekt dat flash vrij streng is in wat je in je stylesheet zet. Heb je per ongeluk ergens een typo, dan werkt t meteen niet meer. Test t dus desnoods ff met een hele simpele stylesheet waar je nix anders doet dan 1 tag 1 property geven...

sorry, ik had mijn bericht geedit.