Я знаю, что на этот вопрос есть много ответов, но из того, что я увидел, никто не подходит к ответу так, как я бы решил.
CSS использует width (Media Queries), чтобы определить, какие стили применяются в сети.документ основан на ширине.Почему бы не использовать ширину в JavaScript?
Например, в медиазапросах Bootstrap (Mobile First) существует 4 точки привязки / перерыва:
- Сверхмалые устройства имеют размер 768 пикселей и меньше.
- Малые устройства имеют диапазон от 768 до 991 пикселей.
- Средние устройства имеют диапазон от 992 до 1199 пикселей.
- Большие устройства имеют размер 1200 пикселей и более.
Мы можем использовать это также для решения нашей проблемы с JavaScript.
Сначала мы создадим функцию, которая получает размер окна и возвращает значение, которое позволяет нам видеть, какой размер устройства просматривает наше приложение.:
var getBrowserWidth = function(){
if(window.innerWidth < 768){
// Extra Small Device
return "xs";
} else if(window.innerWidth < 991){
// Small Device
return "sm"
} else if(window.innerWidth < 1199){
// Medium Device
return "md"
} else {
// Large Device
return "lg"
}
};
Теперь, когда мы настроили функцию, мы можем вызвать ее и сохранить значение:
var device = getBrowserWidth();
Ваш вопрос был
Iхотел бы запустить другой скрипт, если браузер находится на портативном устройстве.
Теперь, когда у нас есть информация об устройстве, остается только выражение if:
if(device === "xs"){
// Enter your script for handheld devices here
}
Вот пример на CodePen: http://codepen.io/jacob-king/pen/jWEeWG