Модель безопасности браузера помешала этому некоторое время (понятно). Он будет работать, если «перезагрузка» выполняется с помощью JS, а не с полным обновлением браузера.
No. Без ссылки на окна, вы не можете найти его снова, по имени или иным образом. Нет коллекции окон.
UPDATE: Вот как вы можете сделать это самостоятельно:
var windows = {};
function openWindow(url, name, features) {
windows[name] = window.open(url, name, features);
return windows[name];
}
Теперь openWindow
всегда будет открыть окно, и если окно уже существует, он будет загрузить заданный URL в этом окне и верните ссылку на это окно. Теперь вы можете также реализовать findWindow
:
function findWindow(name) {
return windows[name];
}
который будет возвращать в окно, если оно существует, или undefined
.
Вы также должны иметь closeWindow
, так что вы не держите ссылки на окна, которые вы открыли себя:
function closeWindow(name) {
var window = windows[name];
if(window) {
window.close();
delete windows[name];
}
}
Если это не представляется возможным, в чем смысл давать имена окон?
Это имя внутреннего вида браузера для управления окнами. Если вы звоните window.open
с тем же именем, он не откроет новое окно, а вместо этого загрузит URL-адрес в ранее открытое окно. Есть еще несколько вещей, от MDN window.open():
Если окно с именем strWindowName уже существует, то strUrl загружается в существующем окне. В этом случае возвращаемое значение - это существующее окно, а strWindowFeatures игнорируется. Предоставление пустой строки для strUrl - это способ получить ссылку на открытое окно по его названию без изменения местоположения окна. К откройте новое окно при каждом вызове window.open(), используйте значение _blank для strWindowName.
ИСТОЧНИК:https://stackoverflow.com/a/9364899
Это, кажется, гонг путь над моей головой по какой-то причине. Будет ли теперь правильный формат? Это не работает для меня.'var windows = {}; функция openWindow ("http://www.google.com/search?q=" + td_text + "", "myWindow", '_blank') { windows [myWindow] = window.open ("http: // www .google.com/search? q = "+ td_text +" "," myWindow ", '_blank'); окна возврата [myWindow]; } ' –
@BrandonHellman ответ, который я привел, не будет работать вокруг полного обновления страницы. Я не знаю, как это сделать. Я думаю, что это намеренно невозможно по соображениям безопасности. –