2014-02-02 3 views
0

В моих кодах есть две кнопки, которые меняют изображение. (Все коды написаны в одном php-файле). Как взять src изображения и сохранить его в переменной javascript и перенести его на другую страницу?Как перенести переменную javascript на следующую страницу?

HTML

<button onclick="red()">red</button> 
<button onclick="blue()">blue</button> 
<img id="color" src="green.png" /> 

Javascript

function blue() 
    { 
    document.getElementById(color).src="blue.png"; 
    } 

function red() 
    { 
    document.getElementById(color).src="red.png"; 
    } 
+0

Вы можете использовать плагин JQuery Cookie для выполнения этой задачи: https://github.com/carhartl/jquery-cookie – drip

+0

Вы должны смотреть на JavaScript [DOMStorage] (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage) –

+0

Я использовал Domdocument для хранения src в переменной php, но на следующей странице он отображает оригинал src (green.png). По какой-то причине он не обновляется, поэтому я пытаюсь сделать это в javascript. Новое обновление src, если я использую DOMdocument в javascript? – user3121403

ответ

3

Просто используйте JavaScript localStorage API

Текущая страница:

function blue() 
{ 
    document.getElementById(color).src="blue.png"; 
    localStorage.setItem('new_image', 'blue.png');  //Add this 
} 

function red() 
{ 
    document.getElementById(color).src="red.png"; 
    localStorage.setItem('new_image', 'red.png');  //Add this 
} 

На следующей странице вы можете получить значение со следующим:

<script> 
var whatImage = localStorage.getItem('new_image'); 
alert(whatImage); 
</script> 
+0

Большое вам спасибо, это помогло мне решить действительно большую проблему. – user3121403

+0

Вам нужна библиотека jquery или что-то связанное для этого? – user3121403

+0

@ user3121403 Нет, это является родным для языка JavaScript. –

2

На первой странице добавьте этот код:

document.cookie = "image_src=" + src_of_the_image +";"; 

На второй странице, вы извлекаете этот путь:

var tmp = document.cookie; 
var name_len = "image_src=".length; 
var prev_img_src = tmp.substring(name_len); 

Обратите внимание, что это работает, когда есть один файл cookie. Чтобы получить более конкретный вид на то, как хранить &, извлеките несколько файлов cookie, отметьте this example.

1

Другой путь у вас есть использовать LocalStorage:

function blue(){ 
    localStorage.setItem("imagePath", "blue.png"); 
    document.getElementById(color).src="blue.png"; 
} 

function red(){ 
    localStorage.setItem("imagePath", "red.png") 
    document.getElementById(color).src="red.png"; 
} 

затем в другой странице найти изображение, которое вы хотите изменить, и:

img.src = localStorage.getItem("imagePath"); 
+0

Большое вам спасибо за помощь – user3121403

Смежные вопросы