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

1

Добрый день!

Найден скрипт в сети, чтобы определить размер экрана, но я не могу понять, как правильно установить определение isMobile, isTablet, isDesktop.

function() {
    var i = {
        mobile: "mobile",
        tablet: "tablet",
        desktop: "desktop",
        oldHeight: null,
        oldWidth: null,
        current: function() {
            return this.define()
        },
        isMobile: function() {
            return this.define() === this.mobile
        },
        isTablet: function() {
            return this.define() === this.tablet
        },
        isDesktop: function() {
            return this.define() === this.desktop
        },
        define: function() {
            return this.width() < 768 ? this.mobile : this.width() < 1360 ? this.tablet : this.desktop
        },
        height: function() {
            return window.innerHeight
        },
        width: function() {
            return window.innerWidth
        },
        init: function() {
            this.oldHeight = window.innerHeight, this.oldWidth = this.define()
        }
    };

Скажи мне, пожалуйста...

Теперь я использую этот метод:

if(
    (screen.width <= 640) || 
    (window.matchMedia && 
     window.matchMedia('only screen and (max-width: 640px)').matches
    )
  ){
   // Do the mobile thing
}

Но я думаю, что вышеупомянутый сценарий более универсален.

PS Можете есть более правильные способы определения размеров экрана?

Спасибо

Теги:
function
matchmedia
screen

1 ответ

0

Как вы называете метод isMobile? Кажется, что это нормально, если вы удалите внешнюю анонимную function и вызовите методы, такие как i.isMobile() - для меня это сообщает false когда у меня есть браузер, и это правда, если я уменьшу браузер до менее чем 768 пикселей.,

  • 0
    Я понял, спасибо. Вот так это работает: if (i.isMobile ()) {pageMain.classList.add ("main - hide"); }
  • 0
    Если вам помог этот ответ, рассмотрите возможность выбора его в качестве принятого или повышения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню