Отменить загрузку js скрипта для экранов с разрешением X на X и ниже

D1
На сайте с 26.02.2013
Offline
61
1892

День добрый, господа. Есть встраиваемый скрипт на сайте, типа такого: <script type="text/javascript" src="http://скрипт-с-внешнего-сайта"></script>

Суть вот в чём: для мобильных устройств он скрыт стилем display: none (в css через @media max-width). Однако это просто запрет на отображение, загрузка же идёт как шла. Как собственно, отменить саму загрузку для определённого разрешения экрана и ниже, по типу метода в css с @media.

P.S. Сайт, на котором хочу это провернуть написан на чистом html. Это так, к слову, вдруг что.

Мой сайт - klinok.pl.ua.
IPXI
На сайте с 04.11.2015
Offline
126
#1

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

I2
На сайте с 07.03.2015
Offline
38
#2

Попробуйте так


var windowW = document.documentElement.clientWidth; // узнали ширину окна браузера
if ( windowW < 1024 ) {
var elem = document.createElement('script'); //создали тег
elem.setAttribute('src', 'main.js'); // вписали путь
document.body.appendChild(elem); //вставили в конец тега body
}
Качественная верстка PSD макетов (/ru/forum/974524)
D1
На сайте с 26.02.2013
Offline
61
#3
indenger20:
Попробуйте так

var windowW = document.documentElement.clientWidth; // узнали ширину окна браузера
if ( windowW < 1024 ) {
var elem = document.createElement('script'); //создали тег
elem.setAttribute('src', 'main.js'); // вписали путь
document.body.appendChild(elem); //вставили в конец тега body
}

Если я правильно понял, этот скрипт прячет всё что после него для экранов с 1024px в ширину и меньше.

В моём случае это не простой скрипт по типу ajax библиотеки. Это окно с приложением. В самый низ его ну никак нельзя поставить.

Думается, что выход из этого вопроса один – делать мобильную версию сайта. Хотя может я и ошибаюсь... А средствами htaccess такое не решается?

I2
На сайте с 07.03.2015
Offline
38
#4
dpakyj1a:
Если я правильно понял, этот скрипт прячет всё что после него для экранов с 1024px в ширину и меньше.

Весь код, который в условии, будет исполняться при ширение меньше 1024px

В моём случае это не простой скрипт по типу ajax библиотеки. Это окно с приложением. В самый низ его ну никак нельзя поставить.

его можно поместить куда угодно


<script>
var windowW = document.documentElement.clientWidth; // узнали ширину окна браузера
var myDiv = document.getElementById('myBlock'); // выбрали элемент по id
if ( windowW < 1024 ) {
var elem = document.createElement('script'); //создали тег
elem.setAttribute('src', 'main.js'); // вписали путь
myDiv.appendChild(elem); //вставили в тег с идентификатором myBlock
}
</script>

А может я вас не правильно понимаю..

K0
На сайте с 01.09.2016
Offline
72
#5

К ответу indenger20 хотелось бы добавить, что можно проверять screen.width и screen.height чтобы получить размер именно экрана.

dpakyj1a:
В моём случае это не простой скрипт по типу ajax библиотеки. Это окно с приложением. В самый низ его ну никак нельзя поставить.

Добавляйте в head. :)

I2
На сайте с 07.03.2015
Offline
38
#6
его можно поместить куда угодно

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

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

TF-Studio
На сайте с 17.08.2010
Offline
334
#7

вы можете от обратного пойти.

грузить скрипт, только когда разрешение больше.

это простейший код и нет ничего лишнего

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий