2015-04-17 2 views
0

В этом посте What is the best way to detect a mobile device in jQuery? я нашел этот код:Блок Javascript активации мобильных устройств

function detectmob() { 
 
    if(window.innerWidth <= 800 && window.innerHeight <= 600) { 
 
    return true; 
 
    } else { 
 
    return false; 
 
    } 
 
}

У меня есть веб-сайт, который проходит тест Googles для «мобильной среды» без каких-либо всплывающих окон для моего информационного бюллетеня/электронных курсов.

Я пробовал описанный выше скрипт, и он будет запускать зачистки, однако, чтобы размер всплывающих окон был слишком большим.

Я хотел бы заблокировать скрипт, чтобы всплывающее окно отображалось, я попытался изменить размер блока, но когда я это сделаю, он станет нечитаемым для устройства с размером экрана менее 400 пикселей.

Любая помощь была бы принята с благодарностью.

УС:

#mobile-only{ 
    display:none; 
} 

HTML:

<div id="mobile-only"> 
 
<script async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"></script> 
 

 

 
</div>

Сценарий Java представляет собой форму, которая будет отображаться после 10-секундной задержки, форма 800x800 пикселей, это очень большой для большинства мобильных устройств, читатель не может прокрутить форму справа, чтобы коснуться «x», чтобы закрыть форму.

После тестирования CSS и HTML скрипт все еще работает.

+0

В сценарии, который вы опубликовали, от него ничего не должно выскочить. Можете ли вы разместить некоторые css и html? Я не уверен, что должно быть «всплывающим». –

+0

@ A.Sharma Я добавил код, который я пытаюсь получить, но в примере кода есть опечатка: ffunction должен быть функцией. – Monte

ответ

0

Пожалуйста, ознакомьтесь с приведенным ниже кодом и попробуйте его.

$(document).ready(function(){ 
var x = $(window).width(); 
if(x >= 400) 
{ 
$('#mobile-only').append('<script async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"></script>'); 
}; 
}); 

вещей, чтобы рассмотреть

Теперь, если вы хотите, чтобы беспокоиться о том, что делать, если пользователь изменяет размер окна на своем рабочем столе, вы можете обрабатывать эти события, используя следующие пункты для справки:

Надеюсь, это поможет!

+0

Я пробовал исправленный код, однако он не остановит работу srcipt на мобильном устройстве, отлично работает для рабочего стола. – Monte

+0

Взгляните на мой новый обновленный ответ с запросом на медиа. Посмотрите, работает ли это. Если это не так, вы можете отправить мне html или css примера, который отображает то, что вы действительно хотите сделать здесь? –

+0

A.Sharma Это вне всякого класса div, однако мобильный div это: div class = "mobile-only" style = "width: 300px" – Monte

0

Используя приведенный выше код, A.Sharma я изменил его так:

<script> 
 
$(document).ready(function(){ 
 
var x = $(window).width(); 
 
if(x >= 400) 
 
{ 
 
$('#desktop-only').append('async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"'); 
 
} 
 
)}; 
 
    </script>

Где «# настольный только» является CSS контейнер для любого содержимого рабочего стола, которые либо не будет поместиться на мобильное устройство (таблицы, большие изображения с высоким разрешением и т. д.) или заполнить экран за доступными ограничениями устройства.

Этот код не работает, однако он выглядит как лучший способ блокировать запуск javascript.

Любые предложения по модификации, чтобы запустить его?

Спасибо!

+0

A.Sharma - Я устал от кода, который вы предоставили с успехом, выше - это modiifcation, и он не будет работать. Не могли бы вы взглянуть на синтаксис и посмотреть, сможете ли вы увидеть, где я ошибся? Благодаря... – Monte

Смежные вопросы