Как я могу остановить всплывающее окно конфиденциальности Flash дважды на странице? - PullRequest
2 голосов
/ 07 сентября 2010

Мое веб-приложение записывает пользователей через веб-камеру и микрофон.Я хочу использовать HTML / JS для элементов управления и содержимого, поэтому я создал два отдельных модуля Flex:
* Модуль «Настройка веб-камеры», который позволяет выбирать камеру и устройства ввода микрофона
* Модуль «записи»который позволяет пользователю записывать и отправлять запись

Когда я встраиваю любой из них на страницу, поскольку они получают доступ к объекту «Камера / Микрофон» пользователя, Flash отображает диалоговое окно «Конфиденциальность», в котором говорится: «[mysite] запрашивает доступ кваша камера и микрофон. Если вы нажмете кнопку «Разрешить», возможно, вы будете записаны. "

Проблема в том, что если я отвечу" Да "в модуле настройки, а затем добавлю модуль записи на страницу, используя Javascript, он снова показываетдиалоговое окно «Конфиденциальность».

Есть ли способ избежать второго всплывающего окна конфиденциальности?

Я думаю, что, сказав «Да» для [mysite], можно сохранить это разрешение дляпо крайней мере, в этом сеансе, но, видимо, нет.

То, что я пробовал
Я пытался объединить их в один SWF, один раз добавив его на страницу и переместив DOMэлемент с функцией append () jQuery, когда это необходимо.Однако когда я перемещаю его, он перезагружается и снова спрашивает меня.

Ответы [ 3 ]

1 голос
/ 07 сентября 2010

Представьте, если [mysite] был, скажем, blogger.com или livejournal.com (или, если он еще был, geocities.com). Хотели бы вы, чтобы ответ "да" на этом сайте подходил для каждой страницы в этом домене?

Помните, только то, что вы обещаете (от души и надежды умереть) не злоупотреблять запрашиваемой вами дырой в безопасности, не означает, что они могут позволить вам иметь эту дыру в безопасности.

0 голосов
/ 11 сентября 2010

Вы можете создать компонент «запись», чтобы просто отправлять и получать сигналы, используя API, созданный для компонента «Настройка» (который уже авторизован, то есть один auth и два swfs), используя класс LocalConnection:http://livedocs.adobe.com/flex/3/langref/flash/net/LocalConnection.html

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

0 голосов
/ 10 сентября 2010

В конце концов, я нашел полезный обходной путь, похожий на тот, который я изначально пробовал (выше).

Я объединил модули настройки и записи в один SWF. Сначала я показываю экран настройки. Когда пользователь нажимает кнопку «Продолжить» на моей странице, Javascript вызывает функцию в SWF, чтобы перейти к экрану «Запись». Затем я перемещаю <div>, содержащий объект Flash, в другое место на странице, используя абсолютное позиционирование, и изменяю размер объекта.

Раньше я пытался использовать функцию append () jQuery для перемещения div в DOM, и это вызывало перезагрузку SWF. Просто изменение положения и размера действительно работает.

...