Определить ширину экрана для нескольких мониторов - PullRequest
10 голосов
/ 23 февраля 2012

Мой сайт оптимизирован (с фиксированной шириной) для макета 1024x768.Я планирую добавить вертикальные баннеры по обеим сторонам страницы для людей с шириной разрешения 1280 или выше.

Используя screen.width, я легко могу это сделать.Но я сталкиваюсь с проблемой при попытке использовать ее на компьютерах с несколькими мониторами.

Предположим, что приведенный ниже сценарий: Монитор 1 (основной дисплей) - разрешение 1024 х 768Монитор 2 (дополнительный дисплей) - разрешение составляет 1440 x 900

screen.width всегда показывает ширину как 1024 независимо от монитора, на котором я просматриваю страницу.Значения меняются, если я изменяю основной монитор на Monitor 2.

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

Я был бы очень признателен за любую помощь в этом.

Ответы [ 2 ]

4 голосов
/ 23 февраля 2012

Попробуйте посмотреть window.innerWidth (ширина веб-страницы на экране) вместо window.screen.width.

3 голосов
/ 20 марта 2012

Спасибо за ваш ответ duskwuff. Помог мне скомпилировать приведенную ниже функцию, которая решила проблему для меня.

function getBrowserWith()
{
    if(($.browser.msie == true && $.browser.version == '9.0') || $.browser.webkit == true || $.browser.mozilla == true)
        return window.innerWidth;
    else if(($.browser.msie == true) && ($.browser.version == '7.0' || $.browser.version == '8.0'))
        return document.documentElement.clientWidth;
    else
        return screen.width;
}

Важные замечания

  1. Требуется jQuery 1.4+
  2. Обратите внимание, что вышеуказанная функция была протестирована только для браузеров IE7 +, FF7 + и Chrome16 +.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...