Разработка доски объявлений под ключ › Boxcode › Разное по движку › Асинхронная загрузка сайта
Помечено: асинхронная загрузка бокскод
- В этой теме 27 ответов, 2 участника, последнее обновление 3 года, 6 месяцев назад сделано
sarkis.
-
АвторСообщения
-
09.09.2017 в 21:19 #1955
Grisha
УчастникЗдравствуйте. В HEAD бокскод очень много css и js. Как думаете, можно ли без каких либо проблем организовать асинхронную загрузку сайта? Думаю сегодня это очень актуальная тема, учитывая, что в гонке «на скорость» сейчас не участвовать означает отставать от конкурентов.
09.09.2017 в 23:43 #1956sarkis
ХранительЗдравствуйте. Данный вопрос имеет ряд сложностей в реализации, т.к придется много чего переделать и не все удастся с легкостью переделать, да и на практике может не оправдаться.
Но принцип может быть след. для css:
1. убираете все лишние css, которые не используете
2. используете распределенные стили, т.е не в одном файле все стили, а для каждого модуля свои стили подгружаются при необходимости
3. минимизация кода css
4. убираете подключение стилей из head
5. в конце тега body ставите код, который подключит стиль только после того, как страница вся прогрузится.123$(document).ready(function() {$("head").append("<link rel='stylesheet' type='text/css' href='/styles.css' />");})В итоге : при малой скорости вы увидите сначала белый экран с текстом, а потом уже стили .
С js — кодом почти тоже самое по пунктам, но немного все обстоит сложнее .
Вы подключили
1<script src="/jquery.js" async></script>,но чтобы скрипт заработал, например
1<script>$('body').addClass('red_green');</script>нужно сделать следующее
1234<script>function loader() {$('body').addClass('red_green');}</script><script src="/jquery.js" async onload="loader()"></script>-
Ответ изменён 3 года, 7 месяцев назад пользователем
sarkis.
10.09.2017 в 20:37 #1958Grisha
УчастникЯ вчера попробовал подключить HeaderJs (http://headjs com) все сразу стало летать, но на странице подачи например начали возникать конфликты с яваскриптом jquery.filer.min.js еще с jquery.inputmask.js
как я понял проблем будет много из за того, что jquery.js подгружается позже, чем эти скрипты.
Еще один интересный вопрос. Как выводить «похожие объявления» под объявлением из соседних городов, если в этом скажем нету? Так кстати реализовано на авито.
10.09.2017 в 21:39 #1959sarkis
ХранительЕще один интересный вопрос. Как выводить “похожие объявления” под объявлением из соседних городов, если в этом скажем нету? Так кстати реализовано на авито.
Делайте условие на проверку наличия похожих объявлений. Если нет похожих, то делайте след.выборку из любого другого региона. Сложность будет зависеть от целей, на авито, я думаю, цели посложнее будут !
11.09.2017 в 10:18 #1960Grisha
Участникна авито, я думаю, цели посложнее будут
Ничего у них нет сложного. Дурацкая выборка. Если нет объяв в Югорске, то смотрите из Сургута. Расстояние почти 1000 км))) Ясно же, что сделано для того, чтобы просто задержать пользователя.
Выборку я могу организовать, но как сделать так, чтобы не попался несуществующий айди категории? То есть скажем если нет объяв в категории name=»квартиры» то показать из другого name=»квартиры» где n_category > этой скажем. Но а если нет больше значения?11.09.2017 в 18:39 #1961sarkis
ХранительНемного не понял вашей выборки 🙂
Сложность заключается в том, что вам нужно знать из каких критериев должна складываться выборка (я про это говорил) :
1. какой город
2. какая категорияА каждый критерий выборки складывается из своих алгоритмов следований.
Например, какой выбрать город (или-или) ? —
Выбрать, который будет ближе к текущему объявлению. Но как узнать, какой ближе ? а если там нет объявлений, то какой след.алгоритм действий ?
И точно также по категориям.Тут нужно везде вести статистические данные, чтобы делать подобные выборки, но это ресурсоемко..
Простой метод уже реализован в движке по-умолчанию, но он не универсален. Можно туда добавить привязку гео еще, например! Я думаю, что при большом кол-ве объявлений похожие объявления при базовом методе будут всегда !
11.09.2017 в 21:03 #1962Grisha
Участнику меня есть категории, где объявления очень редко размещают, но удалять категорию скажем «животные» не охота.
Я думал попроще организовать выборку. без статических данных. Скажем если нет похожих объявлений в данной категории, то брать скажем так:
if($result=»»){
mysql_query(«SELECT …, …, … WHERE name_cat=’Животные’ AND n_cat > текушего_n_cat «)
}
11.09.2017 в 22:32 #1963sarkis
Хранительчет как-то снова не понял 🙂
Если выборка объявлений, то откуда колонка name_cat и что она из себя представляет ?
Если у вас name_cat = «животные», то по-умолчанию это будет категория Животные, независимо от того, какой n_cat будет .12.09.2017 в 17:58 #1964Grisha
УчастникУ меня гео нет. Категория это город, а категория это подкатегория. Вот такая вот структура
15.09.2017 в 20:15 #1965Grisha
УчастникСделал поинтереснее. Считаю сколько похожих объявлений, сколько не хватает до 10-и, остальные вывожу из другого города.
$skolko_nado = 10-$this->kol_previous_advert;
… ORDER BY id_advert DESC limit «.$skolko_nado;
Чтобы в похожих всегда было 10 объяв.
15.09.2017 в 20:21 #1966sarkis
ХранительИз какого другого города : произвольно берете город или как ?
15.09.2017 в 20:27 #1967Grisha
УчастникВзял один, который ближе ко всем и большой, где максимум объяв
15.09.2017 в 20:29 #1968sarkis
ХранительЯ так полагаю, что это будет актуально только , если у вас региональная доска. Для другой доски не подойдёт.
15.09.2017 в 20:40 #1969Grisha
УчастникДля другой доски не подойдё
Согласен! Но у меня региональная.
18.09.2017 в 00:24 #1970Grisha
УчастникСаркис, подскажите пожалуйста для чего вот этот скрипт? js_lib_general.js
-
Ответ изменён 3 года, 7 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.