# Loading a url

**URL:** <https://forum.kirupa.com/t/loading-a-url/303031>\
**Category:** Uncategorized\
**Created:** [January 12, 2010, 7:07pm UTC](https://forum.kirupa.com/t/loading-a-url/303031 "2010-01-12T19:07:58Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![turtle0506](https://avatars.discourse-cdn.com/v4/letter/t/e36b37/32.png) [@turtle0506](https://forum.kirupa.com/u/turtle0506)\
**Post date:** [January 12, 2010, 7:07pm UTC](https://forum.kirupa.com/t/loading-a-url/303031/1 "2010-01-12T19:07:58Z")

</div>

For some reason the menu doesn’t load to the URL that I specify in my xml file. When I click on it, it showed up as text underneath the menu itself as Link clicked:\_\_\_\_. How can I make it so that the link will actually go to URL that I specify in my xml file?

This is the AS on the main frame.

* * *

stage.scaleMode = “noScale”;  
stage.align = “LT”;

//handle click events  
import classes.MenuEvent;  
menuHolder.addEventListener(MenuEvent.ITEM\_CLICK,clickHandler);

function clickHandler(e:MenuEvent)  
{  
var link:String = e.data;  
//use the link var to do something  
linkInfo.text = "Link clicked: "+link;  
}�

* * *

this is menu container code

* * *

var xmlLoaderObj:URLLoader = null;  
var xmlDataObj:XML;  
//the url of the menu items  
var url:String = “menuitems.xml”;

//load the xml  
loadMenu();

//setup the xml loader  
function setupXMLLoader():void  
{  
xmlLoaderObj = new URLLoader();

```
xmlLoaderObj.addEventListener( Event.COMPLETE, loadHandler );
xmlLoaderObj.addEventListener( ProgressEvent.PROGRESS, loadHandler );
xmlLoaderObj.addEventListener( IOErrorEvent.IO_ERROR, loadHandler );

```

}  
//kill the xml loader  
function killXMLLoader():void  
{  
xmlLoaderObj.removeEventListener( Event.COMPLETE, loadHandler );  
xmlLoaderObj.removeEventListener( ProgressEvent.PROGRESS, loadHandler );  
xmlLoaderObj.removeEventListener( IOErrorEvent.IO\_ERROR, loadHandler );

```
xmlLoaderObj = null;

```

}  
//call when xml is loaded  
function loadHandler( event:Event ):void  
{  
switch( event.type )  
{  
case Event.COMPLETE:  
//start building the menu  
buildMenu( XML( xmlLoaderObj.data ) );  
killXMLLoader();  
break;

```
    case ProgressEvent.PROGRESS:
        break;
    
    case IOErrorEvent.IO_ERROR:
        killXMLLoader();
        break;
}

```

}  
//start loading the xml  
function loadMenu():void  
{  
if( xmlLoaderObj != null )  
{  
xmlLoaderObj.close();  
}  
else  
{  
setupXMLLoader();  
}

```
xmlLoaderObj.load( new URLRequest( url ) );

```

}  
//Build the main menu  
function buildMenu(xmlData:XML):void  
{  
xmlDataObj = xmlData;  
var menus:XMLList = xmlDataObj.item;

```
var menuLength:uint = menus.length();
var curpos:Number = 0;

//place all children
for(var i:int = 0;i&lt;menuLength;i++)
{
    var menuItemObj:menuItem = new menuItem();
    menuItemObj._text = menus*.@label;
    menuItemObj.name = menus*.@link;
    menuItemObj.x = curpos;
    menuItemObj.index = String(i);
    menuItemObj.renderButton();
    menuItemObj.addEventListener(MouseEvent.MOUSE_OVER,buildSubMenu);
    menuItemObj.addEventListener(MouseEvent.CLICK,itemClicked);
    mainMenuHolder.addChild(menuItemObj);
    curpos = (curpos+Math.round(menuItemObj.width))-5;
    
}

```

}  
//build the sub menu  
function buildSubMenu(e:MouseEvent):void  
{  
gotoAndPlay(2);  
var i:int = 0;  
//hide line  
for (i = (mainMenuHolder.numChildren-1); i \>= 0; i–)  
{  
var itemObj:menuItem = mainMenuHolder.getChildAt(i) as menuItem;  
itemObj.hideLine();  
}

```
//set over line on item
e.currentTarget.showLine();

var key:Number = Number(e.currentTarget.index);
var menus:XMLList = xmlDataObj.item[key].item;

var menuLength:uint = menus.length();
var curpos:Number = e.currentTarget.x;

//remove all childeren
for (i = (subMenuHolder.numChildren-1); i &gt;= 0; i--) 
{
    subMenuHolder.removeChildAt(i);
}

//place all children
for(i = 0;i&lt;menuLength;i++)
{
    var menuItemObj:subMenuItem = new subMenuItem();
    menuItemObj._text = menus*.@label+" ";
    menuItemObj.name = menus*.@link;
    menuItemObj.buttonMode = true;
    menuItemObj.useHandCursor = true;
    menuItemObj.x = curpos;
    menuItemObj.renderButton();
    menuItemObj.addEventListener(MouseEvent.CLICK,itemClicked);
    subMenuHolder.addChild(menuItemObj);
    curpos = (curpos+Math.round(menuItemObj.width));
    
}

```

}

//handle click event  
import classes.MenuEvent;  
function itemClicked(event:MouseEvent):void  
{

```
var link:String = event.currentTarget.name;
var e:MenuEvent = new MenuEvent(MenuEvent.ITEM_CLICK, link );
dispatchEvent( e );

```

}�

* * *

this is the XML file

* * *

\<?xml version=“1.0”?\>  
\<xmlmenu\>

```
&lt;item label="about us" link="about us"&gt;
    &lt;item label="the company" link="the company"/&gt;
    &lt;item label="the team" link="the team"/&gt;
&lt;/item&gt;
    &lt;item label="portfolio" link="portfolio"&gt;
        &lt;item label="company 1" link="company 1"/&gt;
        &lt;item label="company 2" link="company 2"/&gt;
        &lt;item label="company 3" link="company 3"/&gt;
        &lt;item label="company 4" link="company 4"/&gt;
    &lt;/item&gt;
    &lt;item label="projects" link="projects"&gt;
        &lt;item label="webdesign" link="webdesign"/&gt;
        &lt;item label="logos" link="logos"/&gt;
        &lt;item label="graphics" link="graphics"/&gt;
        &lt;item label="developing" link="developing"/&gt;
        &lt;item label="video" link="video"/&gt;
    &lt;/item&gt;
    &lt;item label="contact" link="contact"&gt;
        &lt;item label="management" link="management"/&gt;
        &lt;item label="studio" link="studio"/&gt;
    &lt;/item&gt;

```

\</xmlmenu\>
