Проекционный медиа-запрос: поддержка браузера и обходные пути?

Я пытаюсь применить стили к странице только тогда, когда страница проецируется на стену (с помощью проектора, когда кто-то проводит презентацию). На данный момент я могу получить это только в Опере в полноэкранном режиме.

Есть ли способ заставить @media projection действовать в других браузерах? Кроме того, есть ли способ сделать так, чтобы он применялся только к проекции, а не к ноутбуку, с которого он проецируется?

Если нет, есть ли какие-либо жизнеспособные обходные пути для этого? Я пытаюсь создать слайд-шоу в css, но также предлагаю «представление ведущего» с дополнительными элементами управления на ноутбуке ведущего.

Любая помощь в любом районе очень ценится.


person Ian Storm Taylor    schedule 16.06.2011    source источник
comment
Как это применимо только к проекции, а не к ноутбуку, с которого ее проецирование технически возможно? В этом случае экран ноутбука и проектор должны быть двумя отдельными мониторами, поэтому вам следует запустить два экземпляра/окна браузера. Что пользователь должен видеть в обоих окнах?   -  person c-smile    schedule 17.06.2011
comment
Я всегда думал, что проецирование применимо только к проекторам, так же как @media print применяется только к режиму печати?   -  person robx    schedule 17.06.2011
comment
@robx: браузер создает отдельное представление, в котором определено @media print. И загружает в него отдельный экземпляр (клон) вашего документа. Но Ян просит что-то вроде документа, который загружается в два разных представления одновременно. Означает, что в скрипте одновременно доступны два window.   -  person c-smile    schedule 17.06.2011
comment
Интересно. все эти вещи @media для меня совершенно новые.   -  person robx    schedule 17.06.2011
comment
Да, решение, к которому мы в настоящее время склоняемся, — это всплывающее окно, которое можно перетаскивать в поле проекции (когда монитор не зеркально отображается).   -  person Ian Storm Taylor    schedule 17.06.2011


Ответы (2)


@media projection — это абстрактное понятие. Практически projection может быть включен только на устройствах особого типа с пользовательскими сборками браузера.

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

Единственный вариант для вас - поставить <button>"Fullscreen" mode</button> и использовать что-то вроде:

$(button).click( function() { $(document.body).toggleClass("fullscreen") } );

И используйте стили:

body { ... }    
body.fullsceen { ... }  
person c-smile    schedule 16.06.2011
comment
Это не абстрактная концепция — она реализована в Opera для полноэкранного режима. См. en.wikipedia.org/wiki/Opera_Show_Format. - person hallvors; 21.06.2011

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

Например, допустим, ноутбук имеет разрешение 1024x768, проецируемый экран — 1280x800, а заметки находятся внутри элемента с именем класса «заметки» — вы должны сделать что-то вроде этого:

.slide > .notes
{
    display:none;
}

@media projection and (width:1280px)
{
    .slide > .notes
    {
        display:block;
    }
}

По-прежнему потребуется, чтобы проектор и ноутбук были разными экранами (например, при использовании двух мониторов), но с этим как данностью это полностью работает — я сделал это на самом деле.

Я использую Opera в полноэкранном режиме всякий раз, когда делаю презентации; Я также использую приложение для Mac OS X под названием «Mira», которое позволяет настроить Apple Remote таким образом, чтобы оно отправляло нажатия клавиш приложениям. Таким образом, сопоставив клавиши «Вперед» и «Назад» на пульте дистанционного управления с «страницей вверх» и «страницей вниз» в Opera, я могу использовать пульт для пошагового просмотра слайдов :-D

person brothercake    schedule 07.07.2011