2009-08-14 3 views
2

Полноэкранный режим scribd довольно аккуратный (пример: http://www.scribd.com/doc/13161906/Java-Lab-Manual-With-Java-Installation-Guide?classic_ui=1). Преимущество (специально для RIA) заключается в том, что он (почти) полностью не отключает клавиатуру так, как это делает полноэкранный режим по умолчанию в Flash Player. Кажется, также работает, когда встроен.Как scribd реализовал свой «полноэкранный» режим?

Как они это сделали?

ответ

1

Этот пример не использует весь экран вообще. То, что они считают «полноэкранным», - это просто увеличение окна вспышки, чтобы охватить всю область браузера. Панель инструментов браузера, строка состояния и хром все еще видны, как и все, что находится за пределами браузера.

Это приятный эффект для виджета Flash/Flex, встроенного в HTML-страницу, но это не то же самое, что в полноэкранном режиме.

Реализация в основном на стороне JavaScript/DOM и минимально только в Flash/Flex. Когда пользователь нажимает «Полный экран», используйте ExternalInterface для вызова функции JavaScript. Эта функция JS затем должна переместить и изменить размер элемента Flash так, чтобы он находился (0,0) и занимал весь экран. Если HTML длиннее страницы, вам также необходимо скрыть это, чтобы сделать прокрутку в браузере браузера, как это делает пример scribd. Другая кнопка внутри приложения Flex/Flash предоставляет закрытую или связанную кнопку, чтобы отменить процесс.

Как разработчик Flex, я возражаю против использования термина «Полный экран» для этого. Полный экран - это общая функция многих приложений Flash/Flex, особенно видеоплееры. Это вводит в заблуждение пользователей, чтобы использовать этот термин для обозначения чего-то другого. «Максимизировать» было бы более подходящим, чем «Полный экран».

1

Каким образом scribd реализовал свой режим «полноэкранный режим»?

Не очень хорошо, если вы спросите меня. Их интерфейс потрясающе нарушен здесь на Ubuntu ... Это довольно странно, так как 99,9% других приложений Flash работают полностью.

Boots XP VirtualBox изображение

Ну, похоже, они просто изменили DIV, что вспышка сидит с некоторым JavaScript и изменять размер апплета, чтобы соответствовать. Плюс еще один крючок JavaScript для определения размера экрана.

Ничего технически умного, но хорошо, что они это сделали.

+0

Только что установлен Firebug на моем Firefox Firefox. Я могу подтвердить (по сути), что они делают. Они должны играть с несколькими дополнительными стилями 'div', но да. Ничего особенного. – Oli

0

На самом деле Сэм, они делают флэш полноэкранный режим доступен, но вариант «full_screen_type» должен быть установлен в положение «вспышка» на объекте документа:

вар scribd_doc = scribd.Document.getDoc (doc_id, access_key) ;

scribd_doc.addParam ('full_screen_type', 'flash');

По умолчанию «full_screen_type» на самом деле настроен на рендеринг с помощью javascript, что приводит к полноэкранной функции только для браузера.

Несколько голов окна для тех, кто с помощью sbribd.js:

  • Javascript полноэкранный версия кажется сломанной в некоторых отношениях, и
  • По состоянию на ноябрь 2009 года там были некоторые незадекларированные JavaScript переменные в Scribd .js, которая будет разбита на Explorer.
Смежные вопросы