Вот предположение об источнике проблемы, с которой вы столкнулись в Samsung Internet ( SI ).
Сначала проблема была в вызове функции: mobileShowServiceInfo($(this))
.Не в блоках if / else.
В этой функции проблема заключалась в этой строке: ( Из репозитория GitHub OP )
document.getElementById('backBTN').classList.replace('d-none', 'd-md-none')
Так что я думаю, что SI действительно не нравится неназначенный результат для .replace()
.
Это, вероятно, должно работать:
let tempClassList = document.getElementById('backBTN').classList;
document.getElementById('backBTN').classList = tempClassList.replace('d-none', 'd-md-none');
Но это, хотя и короче и яснее, исправило проблему:
$('#backBTN').removeClass('d-none').addClass('d-md-none');
Итак, я догадываюсь , что вместо простого отбрасывания результата .replace()
из-за отсутствия назначения SI просто нарушает код ...
Не советуйте: используйте несколько точек с запятой
;
в конце каждой строки кода.Подробнее об этом читайте в
этом SO-ответе .
;)