Получить объект по его идентификатору в AIR windowedApplication - PullRequest
0 голосов
/ 23 марта 2011

Возможно, есть лучший способ сделать это ... поэтому, пожалуйста, предложите, если есть.

У меня есть некоторый javascript, который вызывает функцию AIR.Эта функция AIR создает новый элемент HTML и добавляет его в «Сцена» следующим образом:

// guid is the ID given to the new window (HTML element) by javascript
private function createNewWindow(guid:String):void {
    var frame:HTML = new HTML();
    frame.id = guid;

    addElement(frame);
}

Теперь у меня также есть функция, которая устанавливает location фрейма на основе его идентификатора.... вот где я борюсь.

// set the location of the window referenced by it's id (guid)
private function setLocation(guid:String, location:String):void {
    // psuedocode. Obviously it won't work.
    stage.getById(guid).location = location;
}

Итак, как мне "получить" мой HTML-элемент на основе его идентификатора?

1 Ответ

1 голос
/ 23 марта 2011

Короткий ответ, нет.Это не javascript, это язык OO, и поэтому вам нужно изменить свой мыслительный процесс.Что ты пытаешься сделать?Создать несколько html-окон в авиационном приложении?Если вы хотите использовать подход, основанный на идентификаторах, вам потребуется сохранить идентификатор и указатель на компонент в структуре данных (например, в словаре).

private var _components:Dictionary = new Dictionary();
this._components['someId'] = someComponent;

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

...