![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
сейчас работает вот так :
в новом окне получаю так :
как эти переменные перевести в локальные |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
а смысл? можно написать магическое слово var перед переменными, если эстетическое чувство взывает к этому ... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
смысл в том, что через window.open переменные являются глобальными. А это плохо ! Вопрос в том, как можно эту всю конструкцию сделать чтобы переменные были локальными ? Какие способы еще существуют ? Может можно как то winow.open заменить на что-то другое ? Это сообщение отредактировал(а) Samotnik - 13.4.2010, 14:40 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
что-то я не понимаю
window.open открывает окно и никакого прямого отношения к глобальным и локальным переменным не имеет Хочется убить пременные - присвой им null, хочется объявить новые переменные локальными - напиши перед ними var... Впрочем, это я уже, вроде говорил... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Samotnik |
|
||||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
ksnk, что то мы друг друга понять не можем
матри. я обьявляю переменную, и сразу же создаю новое окно
в том новом окне я беру эту переменную таким образом
переменная printClipboard во всех этих действиях была глобальной, а нужно ее передать и взять локально, чтобы она ни на секунду не становилась глобальной |
||||
|
|||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Нужно бороться с предрассудками про глобальные переменные. Они не только вредны, но иногда и полезны
Кстати, если уж начинать борьбу, то переменные _clipboard, _clipboardData - очень даже глобальны, судя по всему. Посмотреть их можно, например, в Firebug'ом в свойствах объекта window. Все равно для передачи параметров между окнами глобальные переменные должны быть... Это сообщение отредактировал(а) ksnk - 13.4.2010, 16:24 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
дык в этом и проблема, я же говорю, они не должны быть глобальными, их нужно сделать локальными. как ? Добавлено через 2 минуты и 28 секунд ksnk, ок, давай начнем сначала. Какие существую способы передачи параметров из окна в дочернее ? |
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Блин, Самтник, человек же уже 2 или 3 раза тебе сказал: просто поставь перед ними var. Потом можешь проверить - они будут локальными.
Но есть минус: они не будут видны, но изменение глобальной переменной изменит и локальную. Чтобы гарантийно этого избежать, особенно с объектами, лучше назначать через функцию (можно анонимную). |
|||
|
||||
| Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
Блин, IDVsbruck, я уже 2 или 3 раза сказал, сто проблема не в этом. хорошо я напишу вар и что дальше ? они перестанут быть глобальными
может вы не слышите видите : данная концепция делает переменные глобальными, хоть ставь var ты хоть не ставь ! Решение нашел, могу поделится : для данной ситуации переменные невозможно впринципе сделать локальными, поэтому выход один - реализовать всю логику в родительскои окне, а дочернем только передать сгенерированный html со всей реализацией, и дочернему окну (jsp странице) достаточно принять этот параметр и все Вопрос решен Это сообщение отредактировал(а) Samotnik - 14.4.2010, 00:07 |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |