#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.