Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Не работает ссылка подхваченная из html (http://www.flasher.ru/forum/showthread.php?t=110273)

samomisha 31.03.2008 01:00

Не работает ссылка подхваченная из html
 
Честно, не нашел ничего на форуме.
Проблема:
Есть код в флеше:
Код:

stop();
ekran.onEnterFrame = function (){
        ekran.loadMovie("home.swf", 0 );
}

this.createTextField("someTxt", 100, 0, 0, 100, 20);
//myTxt.autoSize = "left";
if (_level0.xmlURL == undefined) {
    someTxt.text = "myURL is not defined";
} else {
        someTxt.width = 600;
    someURL = _level0.xmlURL;
}

this.createTextField("my_txt", 45, 35, 25, 320, 100);
my_txt.autoSize = "left";
my_txt.multiline = true;
my_txt.wordWrap = true;

if (_level0.xmlURL == undefined) {
    myTxt.text = "myURL is not defined";
} else {
    requestURL = _level0.xmlURL;
        myTxt.text = _level0.xmlURL;
}
flag = true;





XML.prototype.ignoreWhite = true;
var menuReplyXML:XML = new XML();
        myTxt.text = "xml request loaded"

        newx = 100;
        newy = 600
       
menuReplyXML.ignoreWhite = true;

menuReplyXML.onLoad = function (success:Boolean):Void {
    if (success) {
        var childItems:Array = menuReplyXML.firstChild.childNodes;
        for (var i:Number = 0; i < childItems.length; i++) {
            as = childItems[i].firstChild.firstChild.nodeValue; 
                        df = childItems.length;
                menuText.text += as + " | ";                       
                                trace (as);
        }
    } else {
        my_txt.text = "Ба-ра-да";
    }
        for (var f:Number = 0; f< df; f++){
        }
}

_root.onEnterFrame = function() {
    var menuXML:XML = new XML();
        newURL = unescape(requestURL);
   
    if (flag == true){
    menuXML.sendAndLoad(someURL, menuReplyXML);
    flag= false;
    }
};
// Есть немного лишнего, но я решил скинуть все точно как есть.


Есть код в html:

Код:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="urlvariables" align="middle">
          <param name="allowScriptAccess" value="sameDomain" />
          <param name="movie" value="index.swf?xmlURL=http://joomla.maksekit.com/index.php?option=com_moneo" />
          <param name="quality" value="high" />
          <param name="bgcolor" value="#ffffff" />
            <embed src="index.swf?xmlURL=http://joomla.maksekit.com/index.php?option=com_moneo" quality="high" bgcolor="#ffffff" width="550" height="400" name="urlvariables" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
        </object>

Надо подхватить ссылку из хтмл и отправить по ней xml.
Он находит ссылку, но разценивает, что ниже его достоинства по ней пройти ))
Он ее даже на экран выводит. НО не идет.
Ребт, спасите - клиент уже наказывает.

INK• 31.03.2008 05:01

Однако!
Код:

ekran.onEnterFrame = function (){
ekran.loadMovie("home.swf", 0 );
}

- я так подозреваю даже и в мыслях нет о том что с этим куском кода что то не так? точнее с ним все так, да вот исполняемое событие как минимум какое то странное.

samomisha 31.03.2008 06:54

Нет. Там все так. Я просто вкинул весь код, дабы вопросов не возникло. Есть строка
Код:

someURL = _level0.xmlURL;
В ней мы подхватываем url.
А дальше по этому url'у шлем запрос
Код:

menuXML.sendAndLoad(someURL, menuReplyXML);
И флеш мне говорит что барада, и нечего не делает.
НО если на место someURL в строке
Код:

menuXML.sendAndLoad(someURL, menuReplyXML);
вставить ссылку в номальном виде, а именно:
Код:

menuXML.sendAndLoad("http://joomla.maksekit.com/index.php?option=com_moneo", menuReplyXML);
То все работает как часы )
Проблема в том, что код подхвата ссылки правильный, он мне даже в текстовое поле ее выводит, а вот идти по ней не хочет.

INK• 31.03.2008 08:13

дивно. дивно.
СВФ я так понимаю лежит там же? т.е. на joomla.maksekit.com ?

а onEnterFrameы ты всеже поубирай.

или я так понимаю, что только на время работы во флеш ты вставляешь прямую ссылку, а впоследствии меняешь ее на someURL когда закачиваешь на сайт?

тогда это кроссДоменная политика безопасности срабатывает.
читай в мануале в разделе

Learning ActionScript 2.0 in Adobe Flash
Understanding Security > Server-side policy files for permitting access to data > Allowing cross-domain data loading

это первое.

второе. зачем тебе sendAndLoad если ты ничего не отправляешь тому скрипту? хватило бы и лоад.

третье. зачем в onEnterFrame стоит например неприрывный запрос на загрузку "home.swf" ? и далее по коду в том же духе.

ну и на закуску.
вот тебе ссылочка почитай, может будет полезно.
http://ink.envisionext.com/docs/rss_...ash_reader.php

успехов.

iNils 31.03.2008 09:19

samomisha и INK• получают плюс за отсутствие тегов для кода.

Molecula 31.03.2008 10:55

samomisha , я смотрю Вы любитель onEnterFrame-мов.
Зачем Вы, как минимум 12 раз в секунду, загружаете home.swf и отправляете данные через sendAndLoad.

Избавтесь от onEnterFrame-мов, для начала.


Часовой пояс GMT +4, время: 22:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.