2015-04-19 2 views
0

Я думаю, что задаю неправильный вопрос: мне нужно остановить javascript от активации, когда устройство меньше 800 пикселей.Заблокировать активацию javascript на мобильных устройствах - часть 2

Использование Viewsource из браузера (IE 10/11 и Fire Fox 28/32) не содержит ошибок.

Это код, который я использую, он не работает на броузер с разрешением 800 пикселей или более 800 пикселей.

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

 
if(!detectmob()){ 
 
    
 
<script async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"></script> 
 

 
} 
 
</script>

ли кто-нибудь сказать мне Whare я не так?

+0

В этом сообщении «Отключить javascript на мобильных сайтах» указан вышеприведенный код. После этого кода «if (! Detectmob()) {« есть эта строка: «// ВАШ ЧАТ КОД» ... Вопрос в том, как вставить javascript? Примечание. Когда я получу это для работы, он будет вставлен в include для сертификационных страниц на веб-сайте. – Monte

ответ

0

Вы не можете использовать <script> теги в другом <script> тег. Для того, чтобы загрузить другой файл JavaScript в зависимости от условий, вы должны создать тег сценария на лету, как:

var s = document.createElement('script'), 
    h = document.getElementsByTagName('head')[0]; 
s.async = true; 
s.src = 'http://forms.aweber.com/form/19/37402019.js'; 
h.parentNode.insertBefore(s, h); 

Edit: обратите внимание, что вставив тег сценария выше за пределами <head> не может быть лучшим вариантом, в зависимости от на вашей странице вы могли бы ссылаться на какой-то другой элемент уже в вашей голове, например на тег ссылки для CSS, а затем добавить h = document.getElementsByTagName('link')[0]; вместо

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