@Isildur12

Возможно ли по клику на елемент создать html страницу и динамически переносить туда данные?

Здравствуйте захотел написать страницу типа поиск фильмов, взял для этого API JSON.
Нужно сделать чтобы по клику на карточку фильма, открывалась страница с данными и самим фильмом, раньше думал все изменят с помощью innerHTML но мне нужна кнопка 'Назад' и я скорее всего не смогу вернуться назад(location history в этом случае не поможет)(хотя можно написать костыль - присваивать значение в переменную и при клике назад искать по тому же запросу), ну меня больше интересует можно ли ПРИ КЛИКЕ на карточку новую создавать html страницу и туда запихать те видео и тд.. или так на чистом JS сделать не возможно либо создать уже готовую html страницу и при клике переходить туда и генерить туда данные, но смогу ли я туда достучатся? Либо предложите свои варианты как это можно сделать на чистом JS
  • Вопрос задан
  • 201 просмотр
Решения вопроса 1
@Lord_Dantes
Я как раз над этим работаю сейчас.
Я покажу как у меня работает, уже там сам себе подставишь если поможет.

У меня есть страница где есть новости и при клике нужно показать эту новость. Я работаю с JSON.
У меня заранее есть страница одной новости куда я буду далее генерировать данные.

const url = API_URL;
fetch(url)
.then(response => response.json())
.then(data => {
		for (var i = 0; i < data.results.length; i++) {

			var newpubdate = data.results[i].pub_date;

			newpubdate = newpubdate.replace('T',' ');

			var newsid = data.results[i].id;
			var newsdescription = data.results[i].content_ru;
			var newsbackground = data.results[i].image;

			$('.news__wrapper > .container > .row > .col-md-12:first-child').after('код новости');
		}
		$('.news-item-banner-link').click(function(event) {
			var myfirstDate = $(this).attr('id');
			var firstdata = myfirstDate;
			var myData = firstdata;
			localStorage.setItem( 'objectToPass', myData );
		});
	})

// при клике на ссылку(в моем случае это так) мы определяем ID этой новости.(ID новости я в цикле заранее вставляю в ссылку) далее мы сохраняем это в Локалсторейдж и переходим на следующую страницу.
(вот сама ссылка Читати, типо дальше мы переходим на дэфолтную страницу html)

Уже на странице одной новости мы делаем вот что

var myData = localStorage['objectToPass'];
			var firstData = myData;

			const url = API_URL + firstData;
			fetch(url)
				.then(response => response.json())
				.then(data => {
						$('.news-title__box').html(data.title);
						$('.news-item-content__box > p').html(data.content_ru)
						$(".news-item-img__box > img").attr('src', data.image)
				});

Передаем ID-новости с которой мы пришли и вставляем в следующий АПИ запрос и получаем данные и думаю все понятно дальше.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Да.
JS это Тьюринг-полный язык, и на нем можно написать что угодно.
И да, это "что угодно" можно запускать по клику.

Либо предложите свои варианты как это можно сделать на чистом JS

Это сложно, т.к. я не понимаю что вы задумали.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы