Проверил по этому мануалу. Действительно картинки из рекламы не подгружаются с display:none, прописанного для рекламного блока через @media-запрос. По крайней мере, инспектор сети не показывает загрузку
Кодировка файла?
Попробуйте просто в этом же документе вывести кириллицу без функции mb_strtolower. Я думаю, получите такие же битые символы
ziliboba0213, mb_strtolower и так для кириллицы. Кодировка по умолчанию соответствует кодировке документа. Если у ТСа в документе кириллица нормально отображается, то и через эту функцию без явного указания кодировки все ок будет.
Вот цитата из оф. документации:
<?php echo mb_strtolower($this->item->category_morpher); ?>
http://php.net/manual/ru/function.mb-strtolower.php
Ну учитывая то, что в рекламе, бывает, отдаются конских размеров картинки, то конечно лучше стараться подгружать рекламу один раз в одном месте, дабы не усугублять скорость загрузки
Совсем не так.
Visibility:hidden скрывает элемент, но он все равно занимает место. Display: none полностью скрывает элемент на экране, включая занимаемое место. Вот и все отличие. Но в обоих случаях элемент остается в DOM.
По сабжу. Конечно подгружается. Возьмите и проверьте, открыв вкладку network в браузере
Не хочу влезать в спор, что и как лучше. Но вы спекулируете цифрами) В статистике, которую привел mmkulikov версии не указаны. А в новых версиях opera, fairfox, safari и даже ie эти плюшки в большинство своем поддерживаются. Вот, например, поддержка flex. Так что к 59.6% какую-то часть, думаю, было бы справедливо прибавить) А еще можно использовать фолбеки для "старичков", еще пример по flex. Еще есть всякие сборщики с плагинами, препроцессоры, постпроцессоры, которые в этом плане сильно облегчают жизнь.
Выбранный язык в сессию просто записывайте. JS тут вообще не при чем
Это усложнение жизни и себе, и пользователям. Вам все равно придется эти данные подгружать хотя бы при первой загрузке, а потом еще надо следить за их актуальностью. Я не вижу, чем этот способ превосходит обычное кэширование.
По снижению нагрузки все давно придумано до вас. Грамотная архитектура, продуманные запросы с минимально возможным количеством джойнов и подзапросов, индексация, кэширование. А при очень высокой нагрузке и реально больших объемах данных - горизонтальное масштабирование, но до этого еще надо суметь дорасти.
А если так хочется повесить нагрузку на клиента, что аж зубы сводит, то local storage, на мой взгляд, будет уместнее, чем подгрузка json в код.