- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Написал методы для работы с AJAX. Суть простая, после success сервер отдает JSON в котором содержатся команды для обработки jQuery.
Например, следующий метод
if (result.replace) {$.each(result.replace, function(index, value) {
$($$.object).find(tryObject(index)).replaceWith($(value));
});
}
получает в ячейку replace параметры для замены с помощью jQuery, где index - элемент, value - на что заменять.
И все бы хорошо и удобно, если бы не... Если передать в value-index jQuery элемент (т.е. селектор или html код) - все работает, но если передать текст - парсер jQuery дохнет и отдает throw.
Придумал, следующее решение. Вместо $(value) запускать функцию проверки с помощью try-catch и возврата, соответственно, либо элемента либо текста на место index или value:
function tryObject(object) {try {
return $(object).lenght ? $(object) : object;
}
catch(e) {
return object;
}
}
Выглядит криво. Насколько безопасно такое решение? И какое еще может быть решение, кроме как отдавать корректный селектор или DOM элемент?
Еще заметил, что jQuery крешится, только если передать в него текст с закрытыми (), но зато такой текст он возвращает, а просто текст - нет.