Помогите получить доступ к уже существующему окну ПОСЛЕ открывателя! - PullRequest
2 голосов
/ 31 марта 2010

Хорошо, я в своем уме по этому поводу.

Во-первых, предыстория. Я работаю над системой управления видео, где мы позволяем пользователям при добавлении нового контента загружать и, при необходимости, перекодировать медиафайл. Мы используем Java-апплет для FTP-клиента на основе браузера.

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

По большей части у меня все это работает, но вот проблема. Если окно закрыто, все соединения будут сброшены, и процесс загрузки всех файлов в очереди будет отменен.

Итак, если Window One откроет всплывающее окно, добавит материал в очередь, обновит экран или переместится на другую страницу, как я получу доступ к всплывающему окну?

Всплывающее окно и его содержимое должны оставаться постоянными, пока пользователь перемещается по исходному окну. Исходное окно должно иметь доступ к всплывающему окну, чтобы добавить новое задание в очередь. Само всплывающее окно не зависит от открывающегося окна, поэтому общение происходит только в одном направлении:

Родитель -> Всплывающее окно

Не

Родитель <- Всплывающее окно </p>

Window.open (null, «WINDOW_NAME»); не будет работать в этом случае. Мне нужно проверить, существует ли окно ДО использования window.open.

Помощь!?!?

1 Ответ

3 голосов
/ 31 марта 2010

РЕШИТЬ !!!

Вот что я сделал. Во всплывающем окне я добавил произвольную переменную. Родительское окно проверяет существование этой переменной. Если это определено, то окно должно быть открыто. Если нет, то откройте новое окно.

Как это работает, я просто использую window.open (null, 'WINDOW_NAME'), чтобы открыть очень маленькое окно браузера Если вы не укажете URL, он будет либо:

А) Открыть пустое окно Б) Сфокусировать существующее окно

Затем проверяется переменная. Если он не существует, он закрывает окно и возвращает «ложь». Если это так, он фокусирует существующее окно и возвращает 'true'.

function isWindowOpen(targetWindowName)
{
    tempTargetWindow = window.open('', targetWindowName, 'width=1,height=1');

    if(typeof(tempTargetWindow.thisWindowExists) == 'undefined')
    {
        tempTargetWindow.close();

        return false;
    }

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