Как можно получить ссылку на созданный объект после перезагрузки родительского окна?
Есть такой вариант:
var obj = window.open('', name);
но при отсутствии объекта создается пустое окно... Как этого можно избежать?
Спустя 13 часов, 38 минут, 59 секунд (17.04.2012 - 10:05) bodja написал(а):
Думаю никак,после перезагрузки все очищается.
Спустя 5 минут, 2 секунды (17.04.2012 - 10:10) Invis1ble написал(а):
Цитата |
Думаю никак,после перезагрузки все очищается. |
но ведь данный трюк
var obj = window.open('', name);
работает, хоть и не совсем так, как нужно...
неужели прийдется открывать его и получать какое-либо свойство и если оно пустое - закрывать... бред какой-то...
Спустя 11 минут, 30 секунд (17.04.2012 - 10:22) bodja написал(а):
ну так вам же нужно получить доступ к уже созданому окну а не новому,в даном случае вы получаете ссылку на новое окно.
Я пробовал сохранить ссылку через window.name у меня даже этот номер не прошел,строка проходит ,а вот обьект нет,eval не помог.
Может есть еще какой хитрый способ незнаю.
В принципе можно попробовать проверять на обновление родительского окна из дочернего,ссылка на родительское окно в нем сохраняется ,если опять таки не перезагружать,
и в случае обновления передать ему ссылку на себя,но это больше похоже на костыль.
Я пробовал сохранить ссылку через window.name у меня даже этот номер не прошел,строка проходит ,а вот обьект нет,eval не помог.
Может есть еще какой хитрый способ незнаю.
В принципе можно попробовать проверять на обновление родительского окна из дочернего,ссылка на родительское окно в нем сохраняется ,если опять таки не перезагружать,
и в случае обновления передать ему ссылку на себя,но это больше похоже на костыль.
Спустя 4 минуты, 52 секунды (17.04.2012 - 10:27) Invis1ble написал(а):
Цитата |
ну так вам же нужно получить доступ к уже созданому окну а не новому,в даном случае вы получаете ссылку на новое окно. |
да
Цитата |
Я пробовал сохранить ссылку через window.name у меня даже этот номер не прошел,строка проходит ,а вот обьект нет,eval не помог. |
хак с "локальным кэшем"? вчера мельком читал про него, надо будет попробовать

Цитата |
В принципе можно попробовать проверять на обновление родительского окна из дочернего,ссылка на родительское окно в нем сохраняется ,если опять таки не перезагружать, и в случае обновления передать ему ссылку на себя,но это больше похоже на костыль. |
как вариант... лучше я пока не вижу способа
Спустя 5 минут, 56 секунд (17.04.2012 - 10:32) bodja написал(а):
ЗЫ Ну а в целом переходите полностью на аякс и дом - убьете целую кучу проблем со статичностью.
Будут вам окошки и скорость и все сессии у юзера и куча интерактивности.
Будут вам окошки и скорость и все сессии у юзера и куча интерактивности.
Спустя 6 минут, 32 секунды (17.04.2012 - 10:39) Invis1ble написал(а):
bodja
Цитата |
Ну а в целом переходите полностью на аякс и дом - убьете целую кучу проблем со статичностью. Будут вам окошки и скорость и все сессии у юзера и куча интерактивности. |
да это понятно, я пытаюсь сделать так, чтобы и с отключенным js сайт функционировал
Спустя 6 минут, 30 секунд (17.04.2012 - 10:45) bodja написал(а):
Да уже давно не в том веке живем,оставте это для параноиков.
Достаточно глянуть какие сейчас современные шаблоны делают.
Достаточно глянуть какие сейчас современные шаблоны делают.
Спустя 7 часов, 23 минуты, 49 секунд (17.04.2012 - 18:09) Invis1ble написал(а):
вобщем через setInterval все-таки сделал, других вариантов более вменяемых не нашел
PS. Кстати, попутно вопрос:
что оптимальней с точки зрения производительности - передавать анонимную ф-цию, или создать обычную?
Вопрос чисто теоретический, понятно что разница в скорости будет стремиться к нулю :)
setInterval(function() { window.opener.cart = window; }, 200);
PS. Кстати, попутно вопрос:
что оптимальней с точки зрения производительности - передавать анонимную ф-цию, или создать обычную?
Вопрос чисто теоретический, понятно что разница в скорости будет стремиться к нулю :)
Спустя 57 минут, 22 секунды (17.04.2012 - 19:07) bodja написал(а):
Естественно быстрее использовать калбек на уже созданую функцию,так как это фактически указатель на нее,чем каждый раз создавать новую.
Просто в конструкциях setInterval и setTimerOut применяются анонимные функции из за невозможности передать аргумент вместе с вызовом функции,поэтому передают аргументы в качестве кода в теле анонимной функции.
Просто в конструкциях setInterval и setTimerOut применяются анонимные функции из за невозможности передать аргумент вместе с вызовом функции,поэтому передают аргументы в качестве кода в теле анонимной функции.
Спустя 13 минут, 18 секунд (17.04.2012 - 19:20) Invis1ble написал(а):
bodja
Цитата |
Просто в конструкциях setInterval и setTimerOut применяются анонимные функции из за невозможности передать аргумент вместе с вызовом функции,поэтому передают аргументы в качестве кода в теле анонимной функции. |
решил проверить, такой код работает:
function f(a) { console.log(a); }
setInterval(f, 1000, 'test');
setTimeout тоже работает
Спустя 18 минут, 50 секунд (17.04.2012 - 19:39) bodja написал(а):
Значит я что то пропустил в W3Schools нигде не сказано про третий аргумент.
Точнее сказано в setInterval,но там третим аргументом идет язык.
http://www.w3schools.com/js/js_timing.asp
http://www.w3schools.com/jsref/met_win_setinterval.asp
Возможно ,что то изменилось в лучшую сторону.
ЗЫ Действительно,проверил в старых браузерах,не работает.
Точнее сказано в setInterval,но там третим аргументом идет язык.
http://www.w3schools.com/js/js_timing.asp
http://www.w3schools.com/jsref/met_win_setinterval.asp
Возможно ,что то изменилось в лучшую сторону.
ЗЫ Действительно,проверил в старых браузерах,не работает.
Спустя 6 минут, 55 секунд (17.04.2012 - 19:46) Invis1ble написал(а):
да, ты прав. Работает не везде (насколько я понял, не работает в нашем любимом браузере
)

_____________
Профессиональная разработка на заказ
Я на GitHub | второй профиль