webForumDet fria alternativet

dynamisk text med xml fungerar för mig - men inte andra

Flash

11 svar · 599 visningar · startad av fakenick!

Medlem sedan juli 2002202 inlägg
Frågan#1

Hej hej!

Jag har ett dynamiskt textfält som hämtar info från en XML-fil.

Jag har fått detta att fungera - på min dator, men när jag nu
testade filen på en annan dator fungerade det inte...

Så jag funderar lite nu ifall någon har haft liknande problem eller
vet vad som kan vara problemet med att det fungerar för mig
och inte för andra...

Denna kod använder jag mig av + ett dynamiskt textfält som heter txt:

// The first step is to activate the XML object
headlineXML = new XML();
/*
With the XML Object now active you must now load an XML foramtted document.
Any DTD or XLS formatting will be ignored.
*/
headlineXML.onLoad = myLoad;
headlineXML.ignoreWhite = true;
headlineXML.load("http://www.apollo.se/staticpages/GetLastMinuteOffers.aspx?file=/se/got.html&reason=0");

function searchAndReplace(holder, searchfor, replacement) {
	temparray = holder.split(searchfor);
	holder = temparray.join(replacement);
	return (holder);
}

// Before proceeding to far into the program, make sure the XML document has loaded
// Extract information from the XML file
function myLoad(ok) {
	if (ok == true) {
		Publish(this.firstChild);
	}
}
				
function Publish(HeadlineXMLNode) {
	if (HeadlineXMLNode.nodeName.toUpperCase() == "OFFERS") {
		content = "";
		offer = HeadlineXMLNode.firstChild;
		while (offer != null) {
			if (offer.nodeName.toUpperCase() == "OFFER") {
				thedate = "";
				destination = "";
				oneweek = "";
				element = offer.firstChild;
				while (element != null) {
					if (element.nodeName.toUpperCase() == "DATE") {
						thedate = element.firstChild.nodeValue;
					}
					if (element.nodeName.toUpperCase() == "DESTINATION") {
						destination = element.firstChild.nodeValue;
						destination = searchAndReplace(searchAndReplace(searchAndReplace(searchAndReplace(searchAndReplace(searchAndReplace(searchAndReplace(destination,"-Ticket/Sista Minuten",""),"-Ticket/Sista Minute",""),"-Ticket/Sista Minut",""),"-Ticket/Sista Minu",""),"-Ticket/Sista Min",""),"-Ticket/Sista Mi",""),"-Ticket/Sista M","")
					}
					if (element.nodeName.toUpperCase() == "ONEWEEK") {
						oneweek = element.firstChild.nodeValue;
					}
					if (element.nodeName.toUpperCase() == "TWOWEEKS") {
						twoweeks = element.firstChild.nodeValue;
					}
					if (element.nodeName.toUpperCase() == "THREEWEEKS") {
						threeweeks = element.firstChild.nodeValue;
					}
					element = element.nextSibling;
				}
				content += ""+thedate+"<br><font size='+1'>"+destination+"</font><br>Endast "+oneweek+""+twoweeks+""+threeweeks+":-<br><br>";
				txt.htmltext=content;
			}
			offer = offer.nextSibling;
		}
	}
}

setInterval(function(){txt.scroll++}, 1000);

Tack på förhand!
Mvh John Norrby

Medlem sedan maj 2005704 inlägg
#2

Har du provat att köra med eller utan embeddade fonter?

Medlem sedan juli 2002202 inlägg
#3

nej, det har jag inte försökt med...
därför tycker jag att detta är jääääkligt mysko! :-P

Medlem sedan maj 2003750 inlägg
#4

Vilken player publicerar du för och vilken player finns på de datorer där det inte fungerar?

/Mirandir

Medlem sedan juli 2002202 inlägg
#5

Publicerade nyss för Player 6..
Min flash 7.0-spelare fixade biffen,

Men Adobe Flash 9.0 fixade inte biffen...

Medlem sedan juni 20019 519 inlägg
#6

Dum fråga: Är det FLA vi pratar om eller SWF filen?

Medlem sedan juli 2002202 inlägg
#7

swf-filen...

fungerar perfekt för mig.. men inte för vissa andra..

Medlem sedan juni 20019 519 inlägg
#8

Kan beror på versionerna dom kör med flash... kollar så folk inte har en flash player < 6.0 :P

Medlem sedan juli 2002202 inlägg
#9

Hm... aja, jag lade in de hära hämta XML-tjosan
och skriva ut i egen fil, så fungerade det igen för alla...

De som är ute efter samma kan ju kolla lite bland mina
andra trådar här i flashforumet. :)

Nu tänkte jag iallafall klämma in med en liten avstickare igen,

if (element.nodeName.toUpperCase() == "TWOWEEKS") {
twoweeks = element.firstChild.nodeValue;

if (!twoweeks == "") {
days = "14"
}

}

Borde inte detta fungera?

Ifall noden innehåller information så sätter den variabeln days till "14"..

Har testat med NULL också... men det fungerade dock inte.. :)

Medlem sedan juni 20019 519 inlägg
#10

ditt exempel är om INTE twoweeks är ""(tomt) då ska days bli 14? om du nu inte vill att days skall vara en Integer.

Medlem sedan juli 2002202 inlägg
#11

jag hade ju 3 olika block:

oneweek

twoweeks

threeweeks

och där vill jag få ut antalet dagar från rätt antal
veckor, alltså där det finns ett pris som värde..

alltså....

där det inte är tomt skall variabeln days bli 7, 14 eller 21...

men variablen blir tom... står ingen info..
och det spelar ingen roll om det är en integer..

mvh john norrby..

Medlem sedan juli 2002202 inlägg
#12

löste det med if (twoweek != nil) {yeah}

414 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
128 ms — deklarationer (db)
128 ms — hämta statistik (db)
155 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)