Потерянная переменная после открытия новой вкладки

#javascript #html

#javascript #HTML

Вопрос:

У меня есть html-файл с именем index.html .И файл javascript с именем test.js

Javascript откроет новую вкладку и загрузит на нее изображение. Я также определил некоторую функцию для изменения размера изображения.

Проблема в том, что если я закрою исходную страницу, я не смогу изменить размер изображения. Кажется, что все переменные и функции, которые я определил в javascript, исчезли.

Кто-нибудь знает, как исправить эту проблему???

Спасибо.

Комментарии:

1. Что вы пытаетесь здесь сделать? Обычно, когда вы открываете новую вкладку, вы ожидаете, что это будет независимая страница, которая не заботится о переменных исходной страницы.

2. Это ожидаемое поведение. Пожалуйста, укажите, что вы пытаетесь сделать, что вы сделали для этого, и что не удалось.

3. Это нормальное поведение JS. Вам нужно использовать файлы cookie, localStorage, переменные на стороне сервера или какой-либо другой метод, чтобы переменные JS, хранящиеся в памяти, сохранялись на разных страницах.

Ответ №1:

Если вам нужен доступ к этим переменным в вашем новом окне, вы должны скопировать их в contentWindow этого окна. Например.,

 var x = 'original variable',
    newWin = window.open(...);
if (newWin) {
    newWin.x = x;
}
  

Однако обратите внимание, что это будут копии, а не ссылки на исходные переменные, поэтому их изменение в новом окне не приведет к обновлению копий в исходном окне. Чтобы связать их, вам нужно настроить мост с помощью events или postMessage.