>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Нажатие на ссылки в окне, открытом window.open http://forum.mozilla-russia.org/viewtopic.php?id=42950 |
siddartha > 27-01-2010 11:41:37 |
Из родительского окна с помощью window.open открываю попап. Явно налицо у меня отсутствие каких-то фундаментальных знаний. Желаемое поведение - все нажатия на ссылки в попапе открываются в том же окне, где и попап в соответствии с настройками атрибута ссылок target. Заранее спасибо. |
FireForce > 27-01-2010 23:53:57 |
Здравствуйте. Вы чего-то вроде этого хотите добиться? |
siddartha > 28-01-2010 00:02:55 |
Да. Но в данном случае поведение такое же. |
FireForce > 28-01-2010 01:32:04 |
siddartha, FF у меня настроен на открытие новых окон в новой вкладке (Edit → Preferences → Tabs → Open new windows in a new tab instead), т. е. по умолчанию все документы по ссылкам открываются в текущей вкладке по нажатию левой кнопки мыши (ЛКМ) и в новой вкладке по нажатию центральной кнопки мыши (ЦКМ). Если же элемент <a> текущего документа имеет атрибут target=' _blank' или же если имеется сценарий JavaScript (window.open()), то новые документы открываются у меня всегда в новой вкладке, вне зависимости от того, какую клавишу я нажал. Далее, если во вновь открытом документе я кликаю по ссылке, она, опять-таки, открывается по тем же правилам, что я описал выше. Возьмем наш пример с W3Schools. Я: 1. Кликаю по слову этого в моем предыдущем сообщении ЦКМ — открывается документ по адресу: http://www.w3schools.com/js/tryit.asp?filename=tryjs_openallwindow в новой вкладке; 2. Кликаю по кнопке Open window ЛКМ — открывается страничка http://www.w3schools.com/ в новой вкладке; 3. Кликаю по ссылке learn HTML в левой колонке в разделе HTML Tutorials ЦКМ — открывается http://www.w3schools.com/html/default.asp в новой вкладке; 4. Кликаю по рекламному банеру веб-хостинга за $3.95 ЛКМ — открывается страничка соответствующей компании в новой вкладке. Т. е. в родительском окне у меня ничего не открывается. Логика, повторюсь, следующая: ЛКМ открывает всё в текущей вкладке, ЦКМ открывает всё в новой вкладке, если target = '_blank' или скрипт всё открывается в новой вкладке вне зависимости от нажатой клавиши. Опишите, пожалуйста, по пунктам что происходит у вас. |
siddartha > 28-01-2010 18:55:56 |
Так как мой скрипт будет работать для примерно 20к посетителей в сутки, я проверяю его на дефолтных настройках браузера. И ФФ3 и ФФ3.5. В ФФ3.5 я: Если у ссылки на http://www.w3schools.com/ нет атрибута target=_blank, то ссылка открывается в той же вкладке где и http://www.w3schools.com/ Так же проверил на другой машине на чистой установке ФФ3.6. Ведет себя так же как мой ФФ3.5 Вот код, открывающий окно: |
FireForce > 28-01-2010 21:55:00 |
Разобрался с вашей проблемой. Windows XP, Firefox (3.0, 3.5), Инструменты → Настройки → Вкладки → Вместо новых окон открывать новые вкладки (вкл.): документ со скриптом <html> <head> <title><title> <script type="text/javascript"> open_window = function() { nw = window.open('', '', 'width = 400px, height = 300px') nw.document.open() nw.document.write("<div><a href='http://ru.wikipedia.org', target='_blank'>Wikipedia</a></div>") nw.document.close() } </script> <style type="text/css"> div[id="window_opener"] { background-color: #AAAAAA; color: #444444; cursor: pointer; } </style> </head> <body> <div id="window_opener">Open new window</div> <script type="text/javascript"> window_opener = document.getElementById('window_opener') window_opener.addEventListener('click', open_window, false) </script> <body> </html> 1. Загружаем документ в браузер; 2. Жмём Open new window; 3. Открывается всплывающее окошко со ссылкой Wikipedia; 4. Жмём на Wikipedia; 5. В родительском окне открывается заглавная страница Википедии в новой вкладке. В FF 3.5 открытая вкладка получает фокус. В FF 3.0 открытая вкладка фокуса не получает. Windows XP, Firefox (3.0, 3.5), Инструменты → Настройки → Вкладки → Вместо новых окон открывать новые вкладки (выкл.): 1. Загружаем документ в браузер; Debian GNU/Linux 5.0.3, Firefox (Namoroka) (3.6), Edit → Preferences → Tab → Open new windows in a new tab instead (вкл.): 1. Загружаем документ в браузер; Debian GNU/Linux 5.0.3, Firefox (Namoroka) (3.6), Edit → Preferences → Tab → Open new windows in a new tab instead (выкл.): 1. Загружаем документ в браузер; Подозреваю, что в Windows Firefox 3.6 ведет себя таким же образом. Мораль сей басни такова: если хотите, чтобы ссылка открывалась в том же окне, что и текущий документ — не используйте атрибут target со значением _blank. Т. е. просто <a href="http://example.com">link</a>, а не <a href="http://example.com" target="_blank">link</a>. Если у вас есть ещё вопросы, задавайте. |
siddartha > 29-01-2010 16:36:28 |
Большое спасибо за общение. |