# Actionscript security issue

**URL:** https://forum.kirupa.com/t/actionscript-security-issue/186102
**Category:** flash
**Created:** [April 19, 2006, 1:26am UTC](https://forum.kirupa.com/t/actionscript-security-issue/186102 "2006-04-19T01:26:48Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![dottim](https://avatars.discourse-cdn.com/v4/letter/d/9fc29f/32.png) [@dottim](https://forum.kirupa.com/u/dottim)
#### Post date: [April 19, 2006, 1:26am UTC](https://forum.kirupa.com/t/actionscript-security-issue/186102/1 "2006-04-19T01:26:48Z")

</div>

I found an actionscript that loads the next photo in the background while you are viewing the current image. Problem I am having is the crossfade, it works if you are using a direct link in your xml file **/images/photo1.jpg** and if you use a domain [**http://sub.domain.com/images/photo1.jpg**](http://sub.domain.com/images/photo1.jpg) in the xml file it loads the images just doesn’t crossfade.

This actionscript no longer has support, can some one with knowledge of flash and xml with security know how to fix this issue.

Thanks

```auto
 
/ **************************** /
/* Crossfading slide show */
/* Author: Todd Dominey */
/* [http://whatdoiknow.org](http://whatdoiknow.org/) */
/* [http://domineydesign.com](http://domineydesign.com/) */
/ **************************** /
var tour;
trace(_root.tour);
var randomNum = 0;
var randomNumLast = 0;
var container_mc = this.createEmptyMovieClip("container",0);
container_mc.createEmptyMovieClip("loader1_mc",2);
container_mc.createEmptyMovieClip("loader2_mc",1);
this.createEmptyMovieClip("watcher_mc",100);
images_xml = new XML();
images_xml.ignoreWhite=true;
images_xml.onLoad = parse;
images_xml.load("photos.xml.html?tour="+tour+"");
function parse(success)
{
 if (success)
 {
  imageArray = new Array();
  var root = this.firstChild;
  _global.numPause = Number(this.firstChild.attributes.timer * 1000);
  _global.order = this.firstChild.attributes.order;
  _global.looping = this.firstChild.attributes.looping;
  _global.fadetime = Number(this.firstChild.attributes.fadetime);
  _global.xpos = Number(this.firstChild.attributes.xpos);
  _global.ypos = Number(this.firstChild.attributes.ypos);
  var imageNode = root.lastChild;
  var s=0;
  while (imageNode.nodeName != null)
  {
   imageData = new Object;
   imageData.path = imageNode.attributes.path;
   imageArray[s]=imageData;
   imageNode = imageNode.previousSibling;
   s++;
  }
  container_mc._x = _global.xpos;
  container_mc._y = _global.ypos;
  imageArray.reverse();
  imageGen(imageArray);
 }
}
function swapPlace(clip,num)
{
 eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
}
function loadImages(data,num)
{
 if (i==undefined || i == 2)
 {
  i=2;
  createLoader(i,data,num);
  i=1;
 }
 else if (i==1)
 {
  createLoader(i,data,num);
  i=2;
 }
}
function createLoader(i,data,num)
{
 thisLoader=eval("container_mc.loader"+i+"_mc");
 thisLoader._alpha=0;
 thisLoader.loadMovie(data[num].path);
 watcher_mc.onEnterFrame=function ()
 {
  var picLoaded = thisLoader.getBytesLoaded();
  var picBytes = thisLoader.getBytesTotal();
  if (isNaN(picBytes) || picBytes < 4)
  {
   return;
  }
  if (picLoaded / picBytes >= 1)
  {
   swapPlace("container_mc.loader2_mc",1);
   alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
   timerInterval = setInterval(imageGen,_global.numPause,data);
   delete this.onEnterFrame;
  }
 }
}
function imageGen(data)
{
 if (_global.order=="random")
 {
  while (randomNum == randomNumLast)
  {
   randomNum = Math.floor(Math.random() * data.length);
   trace(randomNum);
  }
  loadImages(data,randomNum);
  randomNumLast = randomNum;
 }
 else if (_global.order=="sequential")
 {
  if (p==undefined || p==data.length && _global.looping=="yes")
  {
   p=0;
  }
  else
  {
   break;
  }
  loadImages(data,p);
  p++;
 }
 clearInterval(timerInterval);
}
stop();

```
