В зависимоти от URL выводить <div> java script

Nassa
На сайте с 14.08.2012
Offline
116
837

Друзья. Может подскажете, если не сложно. Вроде простая задача, но программист один отпросился до пн., а второй в отпуске, и терять 3 дня - жалко.

Задача, написать простенький скрипт на java script:

Если URL содержит {значение} (например в URL есть /slon/ , то есть может быть www.site.ru/slon/ , www.site.ru/slon/rozovyi, www.site.ru/slon/kjljlllk) То вставить код:

<div>Тут какой-то код</div>

Иначе - ничего не вставлять, оставить как есть

Спасибо)

NothingMatters
На сайте с 12.06.2017
Offline
45
#1

<script>

if (document.location.pathname.includes('slon')) {
let div = document.createElement('div');
div.innerHTML = '<h1>HTML</h1>';
document.body.appendChild(div);
}
</script>
Nassa
На сайте с 14.08.2012
Offline
116
#2

NothingMatters Спасибо. А то что нужно выводить - вставить вместо этого: <h1>HTML</h1>.

Там ничего не нужно экранировать и т.д? А то код будет очень большой, баннеры там, обратный отсчёт А include туда можно?

tommy-gung
На сайте с 22.11.2006
Offline
287
#3

экранировать одинарные кавычки

Здесь не могла быть ваша реклама
NothingMatters
На сайте с 12.06.2017
Offline
45
#4
Nassa:
NothingMatters Спасибо. А то что нужно выводить - вставить вместо этого: <h1>HTML</h1>.

Там ничего не нужно экранировать и т.д? А то код будет очень большой, баннеры там, обратный отсчёт А include туда можно?

Как уже выше сказали нужно будет экранировать одинарные кавычки.

Но если там солянка из html+js, то хз сделаете ли сами.

Nassa
На сайте с 14.08.2012
Offline
116
#5

Там написано до меня, я просто вырежу и сделаю {include 'menu_top.html'} Так же можно?

NothingMatters
На сайте с 12.06.2017
Offline
45
#6
Nassa:
Там написано до меня, я просто вырежу и сделаю {include 'menu_top.html'} Так же можно?

Вряд ли... 99.9% ничего не выйдет. Надо смотреть что там выводится и подгонять.

K
На сайте с 26.04.2017
Offline
19
#7

Если требуется вставлять большой и самодостаточный HTML, то лучше добавить в вышеуказанный код AJAX-запрос. В jQuery уже есть готовая функция для этого.

Макет будет запрошен с сервера по определённому URL, например, www.site.ru/menu_top.html. Полученную HTML-разметку можно будет вставить в любое место на странице. Этого Вы хотите?

Nassa
На сайте с 14.08.2012
Offline
116
#8

Kratech

Да!

K
На сайте с 26.04.2017
Offline
19
#9

Примерно так это выглядит с использованием библиотеки jQuery:


$.get( "www.site.ru/menu_top.html", function(result) {
$("#menu").html(result);
});

Где #menu — элемент с ID 'menu', внутрь которого будет вставлен результат запроса.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий