Как остановиться на Enter Frame, стреляющем несколько раз? - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь выполнить простой URL-запрос при вводе фрейма, но, кажется, он выполняется несколько раз?

Я попытался удалить обработчик события на handleLoadSuccessful, который, кажется, останавливает его бесконечное срабатывание, но он все еще выполняется примерно 10 раз, прежде чем останавливается.

Как сделать так, чтобы он срабатывал только один раз?

addEventListener(Event.ENTER_FRAME, onLoadHandler);
function onLoadHandler(event:Event) {
    var scriptRequest:URLRequest = new URLRequest("http://ad.doubleclick.net/clk;254580535;19110122;t?http://www.gamespot.com.au/Ads/gswide/hp/1x1.gif");
    var scriptLoader:URLLoader = new URLLoader();
    var scriptVars:URLVariables = new URLVariables();

    scriptLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
    scriptLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);

    scriptRequest.method = URLRequestMethod.POST;
    scriptRequest.data = scriptVars;

    scriptLoader.load(scriptRequest);

    function handleLoadSuccessful($evt:Event):void {
        trace("Message2 sent.");
        removeEventListener(Event.ENTER_FRAME, onLoadHandler);

    }

    function handleLoadError($evt:IOErrorEvent):void {
        trace("Message1 failed.");
    }
}

1 Ответ

0 голосов
/ 08 марта 2012

ENTER_FRAME срабатывает x раз в секунду, где x - частота кадров документа.

Код в вашей функции прослушивания заставляет меня думать, что на самом деле вам вообще не нужен прослушиватель событий или функция прослушивания - если вы просто хотите, чтобы то, что находится внутри этой функции, вызывалось один раз, переместите все внутри нее на свою владеть.

Вы также можете переместить все это в функцию init() и затем вызвать ее один раз.

Кроме того, ваши функции handleLoadSuccessful() и handleLoadError() не должны быть определены в другой функции (в вашем случае onLoadHandler()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...