-
Problem with relative path in externally loaded SWF
I have a flash movie (let's call it B.swf) that loads an XML file which is located in the same directory to provide some data. This flash movie works fine itself.
Now, I've made another flash movie, a main movie (let's call it A.swf), which loads different SWF's in turn, including the aforementioned one B.swf (which now would be located along with the XML file in a subdirectory).
To my surprise, I've checked that now I get an error, as the path I specified for the XML file in B.swf is not valid anymore when B.swf is loaded from A.swf. The relative path from which it's searching for the file is the directory where A.swf is located, not the one where B.swf is located, as happened when this movie was executed standalone.
Is there any way to fix this so that I don't have to change the path I specified in the code and I can use B.swf either way externally loaded or standalone?
-
You can have B check its loaderInfo's url property and construct an absolute URL to the xml using that.
-
I'm not sure what you mean. You have to specify a URL before loading.
This is what I have in the secondary movie (b.swf):
var externalData:URLLoader = new URLLoader(new URLRequest("data.xml"));
these would be the paths from the main movie:
a.swf
assets/b.swf
assets/data.xml
I'd like to avoid having to change the URL to new URLRequest("assets/data.xml")
-
B itself has a loaderInfo property, all DisplayObjects do. So before loading, you can check that, excise the "b.swf" part, and put in "data.xml". Viola, you have an absolute URL to the correct path.
Code:
var myPath:String = loaderInfo.url;
var dataPath:String = myPath.substring(0, myPath.lastIndexOf("/"))+"data.xml";
var externalData:URLLoader = new URLLoader( new URLRequest(dataPath));
I may have an off-by-one error in there regarding indices, but you get the idea.
-
Thank you, now I get it.
Also, once the xml is loaded, since the xml document contains paths to upload images for a gallery, I guess I'll have to do the same with those paths when I retrieve the xml data. Is this correct?
-
If those paths are relative, yes.
-
ok, thank you again! I get the point.
-
Last edited by Jazztronik; 10-15-2009 at 10:55 AM.
Reason: repeated
-
I am running into the same problem. I have worked with xml strings before but never created an xml file until today and having trouble as well with receiving errors because I'm loading an external swf from a subdirectory folder with xml file in said folder along with jpegs.
I will test your solution but my only question is how do I write in the paths to my files in the xml file itself? I figured out that that might be part of the issue on why I'm receiving error message but I don't understand how to make that change. And I know it's probably a simple solution but I'm a perplexed newbie on this issue :/
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|