Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Перенести данные с одной страницы на другую (https://javascript.ru/forum/dom-window/58838-perenesti-dannye-s-odnojj-stranicy-na-druguyu.html)

pay4ok32rus 13.10.2015 17:16

Перенести данные с одной страницы на другую
 
Добрый день! Не силен в javascript поэтому прошу помочь хоть чем то)))

есть страница на сайте в котором есть 3 одинаковых div'a. В них занесена информация. Есть также javascript, который проверяет содержимое div'ов и в зависимости от содержимого делает фон разного цвета.

В чем проблема. Есть еще одна страница сайта на котором есть превью этого объекта, по нажатию на которое переходит на ту страницу которая была описана выше. Необходимо чтобы эти div'ы тоже высвечивались и на превью объекта. Можно ли содержимое этих дивов с помощью переменной какой-нибудь перенести на другую страницу? Хотелось бы чтобы это все было сделано javascript'ом.

Можно ли такое реализовать и если можно то как?

Код страницы (пример):
<div class="n-otmetka">Новинка</div>
<div class="n-otmetka">Мы рекомендуем</div>
<div class="n-otmetka">Бестселлеры</div>


Код скрипта:
<script type="text/javascript">
			
			     [].forEach.call(document.querySelectorAll('.n-otmetka'), function(item) {
                       switch(item.innerHTML) {
                       case 'Новинка':
                       item.style.backgroundColor = '#e4003a';
                       break;
                       case 'Мы рекомендуем':
                       item.style.backgroundColor = '#0057E4';
                       break;
                       case 'Бестселлер':
                       item.style.backgroundColor = '#19AE23';
                       break;
                       default:
                       item.style.backgroundColor = '#CFD517';
        }
    });  
			
		    </script>

ksa 14.10.2015 10:30

Цитата:

Сообщение от pay4ok32rus
Можно ли такое реализовать и если можно то как?

Как вариант...
Любое дочернее окно имеет ссылку на родителя. Т.о. JS страницы может получить любые данные с родительской страницы.

pay4ok32rus 14.10.2015 10:40

Ага, ну хотя бы узнал то что можно так сделать)))а вот в js я не селен)))помогите кто чем может))

ksa 14.10.2015 11:47

Как вариант...

tmp.csp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='http://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
function test(){
	window.open('tmp1.csp');
};
</script>
</head>
<body>
<div class="n-otmetka">Новинка</div>
<div class="n-otmetka">Мы рекомендуем</div>
<div class="n-otmetka">Бестселлеры</div>
<button onclick='test();'>Open</button>
</body>
</html>


tmp1.csp
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<title></title>
<style type='text/css'>
</style>
<script type='text/javascript'>
window.onload=function(){
	var o=window.opener.document.querySelectorAll('.n-otmetka');
	for (var i=0; i<o.length; i++) {
		document.body.appendChild(o[i].cloneNode(true));
	};
};
</script>
</head>
<body>
</body>
</html>

pay4ok32rus, но работать будет только на сервере. ;)
Расширение поменяй на свое, например html...

pay4ok32rus 14.10.2015 12:26

Спасибо, буду пробовать)


Часовой пояс GMT +3, время: 20:47.