maxptz
07.12.2007, 13:16
День добрый.
Сам я в AS ничего не смыслю, поэтому обращаюсь к гуру за помощью :)
Нашел пример для создания динамической смены баннеров.
Т.е. Флешка читает XML файл и выводит связку КАДР + ЛИНК
Все работает замечательно, если баннеры и флешка на одном сайте, т.е.
bannerXML.load("banners.xml");
А вот если баннеры и XML размещаю на одном сайте, а флешку на другом, т.е. делаю
bannerXML.load("http://someurl.com/banners.xml");
то ничего не работает....
Уважаемые, подскажите, как решить эту проблему ?
Содержание AS
onClipEvent(load)
{
/* banner_init */
// loads a random banner from
// the bannerData object
banner_init = function()
{
bannerData = bannerXML.firstChild.childNodes;
bCnt = bannerData.length;
curBanner = Math.floor(bCnt*Math.random());
banner_loadNext();
}
/* banner_loadNext */
// loads a the next banner from
// the bannerData object
banner_loadNext = function()
{
curBanner < (bCnt-1) ? curBanner++ : curBanner = 0;
_blank.loadMovie(bannerData[curBanner].attributes.src);
// check to see if the banner has a link
if(bannerData[curBanner].attributes.href != undefined)
{
_button.href= bannerData[curBanner].attributes.href;
_button._visible = 1;
}
else
{
_button._visible = 0;
}
// check for a preferred target window
if(bannerData[curBanner].attributes.window != undefined)
{
_button.window = bannerData[curBanner].attributes.window;
}
else
{
_button.window = "_self";
}
// check for banner specific timeout
if(bannerData[curBanner].attributes.timeout != undefined)
{
timeout = bannerData[curBanner].attributes.timeout*1000;
}
else
{
timeout = bannerXML.firstChild.attributes.timeout*1000;
}
tStart = getTimer();
}
/* banner_ef */
// timer function for banner loading
banner_ef = function()
{
if(getTimer() >= timeout+tStart)
{
banner_loadNext();
}
}
// setup the XML object
bannerXML = new XML();
bannerXML.ignoreWhite = true;
bannerXML.load("banners.xml");
//bannerXML.load("http://someurl.com/banners.xml");
bannerXML.onLoad = banner_init;
}
onClipEvent(enterFrame)
{
banner_ef ();
}
Содержание XML
<banners timeout="5">
<banner src="http://URL.ru/1.gif" href="http://URL.ru/1.html" window="_blank" />
<banner src="http://URL.ru/2.gif" href="http://URL.ru/2.html" window="_blank" />
<banner src="http://URL.ru/3.gif" href="http://URL.ru/3.html" window="_blank" />
</banners>
Сам я в AS ничего не смыслю, поэтому обращаюсь к гуру за помощью :)
Нашел пример для создания динамической смены баннеров.
Т.е. Флешка читает XML файл и выводит связку КАДР + ЛИНК
Все работает замечательно, если баннеры и флешка на одном сайте, т.е.
bannerXML.load("banners.xml");
А вот если баннеры и XML размещаю на одном сайте, а флешку на другом, т.е. делаю
bannerXML.load("http://someurl.com/banners.xml");
то ничего не работает....
Уважаемые, подскажите, как решить эту проблему ?
Содержание AS
onClipEvent(load)
{
/* banner_init */
// loads a random banner from
// the bannerData object
banner_init = function()
{
bannerData = bannerXML.firstChild.childNodes;
bCnt = bannerData.length;
curBanner = Math.floor(bCnt*Math.random());
banner_loadNext();
}
/* banner_loadNext */
// loads a the next banner from
// the bannerData object
banner_loadNext = function()
{
curBanner < (bCnt-1) ? curBanner++ : curBanner = 0;
_blank.loadMovie(bannerData[curBanner].attributes.src);
// check to see if the banner has a link
if(bannerData[curBanner].attributes.href != undefined)
{
_button.href= bannerData[curBanner].attributes.href;
_button._visible = 1;
}
else
{
_button._visible = 0;
}
// check for a preferred target window
if(bannerData[curBanner].attributes.window != undefined)
{
_button.window = bannerData[curBanner].attributes.window;
}
else
{
_button.window = "_self";
}
// check for banner specific timeout
if(bannerData[curBanner].attributes.timeout != undefined)
{
timeout = bannerData[curBanner].attributes.timeout*1000;
}
else
{
timeout = bannerXML.firstChild.attributes.timeout*1000;
}
tStart = getTimer();
}
/* banner_ef */
// timer function for banner loading
banner_ef = function()
{
if(getTimer() >= timeout+tStart)
{
banner_loadNext();
}
}
// setup the XML object
bannerXML = new XML();
bannerXML.ignoreWhite = true;
bannerXML.load("banners.xml");
//bannerXML.load("http://someurl.com/banners.xml");
bannerXML.onLoad = banner_init;
}
onClipEvent(enterFrame)
{
banner_ef ();
}
Содержание XML
<banners timeout="5">
<banner src="http://URL.ru/1.gif" href="http://URL.ru/1.html" window="_blank" />
<banner src="http://URL.ru/2.gif" href="http://URL.ru/2.html" window="_blank" />
<banner src="http://URL.ru/3.gif" href="http://URL.ru/3.html" window="_blank" />
</banners>