Я пытаюсь использовать некоторые забавные вещи (1001 *) (плавная прокрутка) на моем сайте jekyll, но это не работает на мобильных устройствах, поэтому я хотел бы ограничить сценарий только рабочим столом. Я включаю script
s через передний вопрос таким образом:
{% if layout.common-js %}
{% for js in layout.common-js %}
<script src="{{ js | relative_url }}"></script>
{% endfor %}
{% endif %}
Затем я помещаю это в передний вопрос:
common-js:
- "/assets/js/any-other-js.js" (including the smooth scroll one)
- "/assets/js/main.js"
Это позволит мне иметь определенные страницы без плавная прокрутка.
Мне было интересно, есть ли чистый способ сделать код ниже Jekyll:
<script>
if (navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)|(Opera Mini)|(IEMobile)/i)) {
INCLUDE ONLY THE <script> files I WANT FOR MOBILE
}
else {
INCLUDE ALL THE <script> files
}
</script>
Или вы предлагаете поместить этот скрипт в head
из все мои макеты?
ОБНОВЛЕНИЕ: Я попробовал этот код, но, похоже, не работает:
<script>
const body = document.querySelector("body");
const js = document.createElement("script");
if (navigator.userAgent.match(
/(iPad)|(iPhone)|(iPod)|(android)|(webOS)|(Opera Mini)|(IEMobile)/i)) {
js.src = "/assets/js/main.js";
} else {
js.src = "/assets/js/smoothscroll.js";
js.src = "/assets/js/main.js";
}
body.appendChild(js);
</script>