Как условно отобразить мобильную и десктопную рекламу в Django, чтобы предотвратить дублирование JavaScript?

Я работаю над проектом на Django, в котором мне нужно показывать разные объявления для мобильных пользователей и пользователей настольных компьютеров. В настоящее время загружается JavaScript для рекламы как на мобильных устройствах, так и на настольных компьютерах, что приводит к конфликтам, поскольку скрипты мобильной рекламы мешают рекламе на настольных компьютерах. Вот упрощенная версия моего шаблонного кода:

<div class="ads-mobile">
    {% ad_simple_tag "mobile_ads" %} 
</div>

<div class="ads-desktop">
    {% ad_simple_tag "desktop_ads" %} 
</div>

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

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

Как я могу гарантировать, что будут загружены только соответствующие рекламные скрипты в зависимости от типа устройства пользователя, учитывая, что страница кэшируется Cloudflare? Существует ли подход на стороне клиента или наилучшая практика для решения подобных ситуаций в Django?

Вернуться на верх