Viser opslag med etiketten Cross-domain policy. Vis alle opslag
Viser opslag med etiketten Cross-domain policy. Vis alle opslag

onsdag den 6. juli 2011

Flash vejr widget

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player




Så lykkedes det endelig at få min flash-vejr-widget lavet. Der har været problemer undervejs, specielt pga. flash security-policy som gør det besværligt at hente variabler fra andre servere.
Jeg lavede et ASP-Script til at generere XML-siden server-side og dermed tror Flash at den får variablerne fra den lokale server og ikke en remote server.

Jeg henter data fra http://www.weather.com/, hvor jeg har oprettet en konto gratis.

Cross Domain Endelig version

Skal du have XML ind i Flash fra et andet domæne? Så kan du benytte følgende ASP-script:
<% 
url = "DIN-XML-FIL.XML"

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
xmlhttp.open "GET", url, false 
xmlhttp.send "" 

sText = xmlhttp.responseText

Function HTMLDecode(sText)
  Dim I
    sText = Replace(sText, """, Chr(34))
    sText = Replace(sText, "<" , Chr(60))
    sText = Replace(sText, ">" , Chr(62))
    sText = Replace(sText, "&" , Chr(38))
    sText = Replace(sText, " ", Chr(32))
    For I = 1 to 255
    sText = Replace(sText, "&#" & I & ";", Chr(I))
  Next

  HTMLDecode = sText
End Function

response.Write (sText)
'Response.write server.HTMLEncode(xmlhttp.responseText)
%>

tirsdag den 5. juli 2011

Flash cross domain

Jeg har fundet løsningen på cross domain-problemet. Jeg lavede et ASP-script der henter XML-filen og derefter inddeler jeg den i et array.

<%
Response.Buffer = True
Dim objXMLHTTP, xml

Set objXML = Server.CreateObject("Microsoft.XMLHTTP")
url="http://www.DIN-URL.dk/din-xml-fil.xml"

objXML.Open "GET", url , False
objXML.Send

'Response.Write objXML.responseText

myArray = Split(objXML.responseText," ") 

Dim counter 
for counter = 0 to UBound(myArray)
  Response.Write(counter & ": " & myArray(counter) & "<br />")
next

Set objXML = Nothing
%>

Eller hvis der skal hentes XML direkte ind kan det gøres sådan her:

<%
url = "http://www.server.com/DIN-URL.XML"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
xmlhttp.open "GET", url, false 
xmlhttp.send "" 

Response.write server.HTMLEncode(xmlhttp.responseText)
%>

fredag den 1. juli 2011

Flash crossdomain problem

Her er en work-around til problemet med at få adgang til XML-data i Flash fra et andet domæne. Jeg har ikke testet endnu.

Klik her!

Bruger man crossdomain.xml skal den ligge på den server man HENTER data fra