JavaScript, обращение к открытому ранее окну

12 3
K
На сайте с 12.07.2006
Offline
295
Kpd
2427

Открываю новое окно методом open

if (tsWindow && !tsWindow.closed) {

tsWindow.focus();
} else {
var tsWindow = window.open("url_страницы", "имя_окна", "left=0,top=0")
tsWindow.focus();
}

После обновления страницы с этим кодом (например, по F5) и повторного выполнения кода в открытом ранее окне "имя_окна" опять загружается та же страничка (понятно почему - переменная tsWindow сбрасывается).

Вопрос - как в JavaScript определить, что уже есть открытое окно "имя_окна", чтобы не загружать там страничку ещё раз?

[Удален]
#1

никак :)

ибо все переменные обнуляются, когда ты обновляешь страницу. проще при переходе на другую страницу закрывай открытое попап окно

Brand from Amber
На сайте с 18.08.2007
Offline
293
#2

bearman, ...а если подумать? Неужели Вы не знаете способа сохранения значений JS-переменных при рефреше страницы? ;)

Лучший способ понять что-то самому - объяснить это другому.
K
На сайте с 12.07.2006
Offline
295
Kpd
#3
Brand from Amber:
bearman, ...а если подумать? Неужели Вы не знаете способа сохранения значений JS-переменных при рефреше страницы?

С этим понятно. Разобью на фреймы или куки поставлю.

Возникла другая проблема. Через open() открываю страницу на другом сайте, по протоколу https, При обращении к элементам этого окна через getElementByID() появляется ошибка "access denied". Как это можно обойти?

Поясню логику скрипта. Беру из базы данных информацию (php+mysql) и хочу через JavaScript вбить эту информацию в форму на другом сайте. Может быть есть альтернативные решения, без JavaScript? (сокеты и т.п. средства php отпадают, на другом сайте https с проверкой сертификата).

P
На сайте с 08.03.2007
Offline
250
#4

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

dkameleon
На сайте с 09.12.2005
Offline
386
#5
Kpd:
Как это можно обойти?

Если инструмент только для себя, то для Фаерфокса есть возможность. Необходимо переключить привилегии.


netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead UniversalBrowserWrite");
Дизайн интерьера (http://balabukha.com/)
K
На сайте с 12.07.2006
Offline
295
Kpd
#6
dkameleon:
Необходимо переключить привилегии.

Где примерно это находится?

Shtogrin
На сайте с 02.11.2006
Offline
95
#7

прямо в js, появится окошко с вопросом

http://www.mozilla.org/projects/security/components/signed-scripts.html#privs

Вторая форма на https не ваша? Может она понимает параметры, переданные через GET?

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
Brand from Amber
На сайте с 18.08.2007
Offline
293
#8

Kpd, ...возможно стоит копнуть в сторону AJAX, а если быть более точным, то в сторону XMLHttpRequest, который ИМХО должен уметь HTTPS?

[Удален]
#9

можно поподробнее про сохранение переменных при рефреше?

bearman добавил 17.06.2008 в 20:56

Brand from Amber:
Kpd, ...возможно стоит копнуть в сторону AJAX, а если быть более точным, то в сторону XMLHttpRequest, который ИМХО должен уметь HTTPS?

политика безопасности запрощает делать чтолибо с window, либо httprequest который был сделан на другой домен. пишите на пхп "прокси" :)

K
На сайте с 12.07.2006
Offline
295
Kpd
#10
dkameleon:
Если инструмент только для себя, то для Фаерфокса есть возможность. Необходимо переключить привилегии.

Не получилось.

В логе ошибок

Ошибка: uncaught exception: Permission denied to get property HTMLDocument.getElementByID

и ниже (почему ниже?)

Ошибка: uncaught exception: A script from "http://localhost" was denied UniversalPreferencesRead privileges.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий