Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№127-01-2010 11:41:37

siddartha
Участник
 
Группа: Members
Зарегистрирован: 27-01-2010
Сообщений: 4
UA: Chrome 3.0

Нажатие на ссылки в окне, открытом window.open

Из родительского окна с помощью window.open открываю попап.
В FireFox 3+ получается такое поведение, в отличие от всех остальных браузеров:
При нажатии на ссылку в попап окне она открывается в окне родителе, хотя в попап окне есть атрибут <base target="_blank" >.
Если FF3.5 еще при этом перекидывает фокус в окно-родитель, то FF3 оставляет попап сверху, а в фоне в родительском окне открываются новые вкладки.

Явно налицо у меня отсутствие каких-то фундаментальных знаний.

Желаемое поведение - все нажатия на ссылки в попапе открываются в том же окне, где и попап в соответствии с настройками атрибута ссылок target.

Заранее спасибо.

Отсутствует

 

№227-01-2010 23:53:57

FireForce
Участник
 
Группа: Members
Зарегистрирован: 18-01-2010
Сообщений: 463
UA: Namoroka 3.6

Re: Нажатие на ссылки в окне, открытом window.open

Здравствуйте.

Вы чего-то вроде этого хотите добиться?

Отсутствует

 

№328-01-2010 00:02:55

siddartha
Участник
 
Группа: Members
Зарегистрирован: 27-01-2010
Сообщений: 4
UA: Chrome 3.0

Re: Нажатие на ссылки в окне, открытом window.open

Да. Но в данном случае поведение такое же.
Если в том окне, что открывается по нажатию на кнопку Open Window Вы нажмете на любую ссылку, которая должна открываться не в той же вкладке всплывшего окна - она откроется в родительском окне. Только что проверил.
Попробуйте сами открыть новое окно, которое у вас ведет на http://www.w3schools.com/xml/default.asp и в нем нажать на любую из ссылок в правом блоке WEB HOSTING

Отсутствует

 

№428-01-2010 01:32:04

FireForce
Участник
 
Группа: Members
Зарегистрирован: 18-01-2010
Сообщений: 463
UA: Namoroka 3.6

Re: Нажатие на ссылки в окне, открытом window.open

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' или скрипт всё открывается в новой вкладке вне зависимости от нажатой клавиши.

Опишите, пожалуйста, по пунктам что происходит у вас.
Включена ли у вас опция Open new windows in a new tab instead?
Покажите ваш сценарий, который приводит к нежелательному поведению окон.

Отсутствует

 

№528-01-2010 18:55:56

siddartha
Участник
 
Группа: Members
Зарегистрирован: 27-01-2010
Сообщений: 4
UA: Chrome 3.0

Re: Нажатие на ссылки в окне, открытом window.open

Так как мой скрипт будет работать для примерно 20к посетителей в сутки, я проверяю его на дефолтных настройках браузера. И ФФ3 и ФФ3.5.
В ФФ3 дефлтно New page should be opened in new tab
В ФФ3.5 стоит Открывать в новой вкладке.

В ФФ3.5 я:
1. Я открываю http://www.w3schools.com/js/tryit.asp?filename=tryjs_openallwindow
2. Нажимаю на кнопку Open Window
3. В новом окне открывается http://www.w3schools.com/
4. При нажатии на странице http://www.w3schools.com/ на любую ссылку с атрибутом target=_blank фокус переходит на http://www.w3schools.com/js/tryit.asp?filename=tryjs_openallwindow и там в новой вкладке открывается сслыка.
4.1. В ФФ3 все то же самое, только с http://www.w3schools.com/ фокус в http://www.w3schools.com/js/tryit.asp?filename=tryjs_openallwindow не переходит и в http://www.w3schools.com/js/tryit.asp?filename=tryjs_openallwindow в фоне в новой вкладке открывается нажатая ссылка.

Если у ссылки на http://www.w3schools.com/ нет атрибута target=_blank, то ссылка открывается в той же вкладке где и http://www.w3schools.com/

Так же проверил на другой машине на чистой установке ФФ3.6. Ведет себя так же как мой ФФ3.5
На другой машине у ФФ3 такое же поведение как на моей. Везде стоит Vista. У моего друга ФФ3 ведет себя так же как у меня

Вот код, открывающий окно:
win = window.open(url, '', 'toolbar,status,resizable,scrollbars,menubar,location,width=1004,height=700');

Отсутствует

 

№628-01-2010 21:55:00

FireForce
Участник
 
Группа: Members
Зарегистрирован: 18-01-2010
Сообщений: 463
UA: Namoroka 3.6

Re: Нажатие на ссылки в окне, открытом window.open

Разобрался с вашей проблемой.
Итак:

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. Загружаем документ в браузер;
2. Жмём Open new window;
3. Открывается всплывающее окошко со ссылкой Wikipedia;
4. Жмём на Wikipedia;
5. В новом окне открывается Википедия. Окно получает фокус.

Debian GNU/Linux 5.0.3, Firefox (Namoroka) (3.6), Edit → Preferences → Tab → Open new windows in a new tab instead (вкл.):

1. Загружаем документ в браузер;
2. Жмём Open new window;
3. В том же окне открывается новая вкладка со ссылкой Wikipedia. Вкладка получает фокус;
4. Жмём на Wikipedia;
5. В новой вкладке открывается Википедия. Вкладка получает фокус.

Debian GNU/Linux 5.0.3, Firefox (Namoroka) (3.6), Edit → Preferences → Tab → Open new windows in a new tab instead (выкл.):

1. Загружаем документ в браузер;
2. Жмём Open new window;
3. Открывается новое окно со ссылкой Wikipedia. Окно получает фокус;
4. Жмём на Wikipedia;
5. В новом окне открывается Википедия. окно получает фокус.

Подозреваю, что в Windows Firefox 3.6 ведет себя таким же образом.

Мораль сей басни такова: если хотите, чтобы ссылка открывалась в том же окне, что и текущий документ — не используйте атрибут target со значением _blank. Т. е. просто <a href="http://example.com">link</a>, а не <a href="http://example.com" target="_blank">link</a>.

Если у вас есть ещё вопросы, задавайте.

Отсутствует

 

№729-01-2010 16:36:28

siddartha
Участник
 
Группа: Members
Зарегистрирован: 27-01-2010
Сообщений: 4
UA: Chrome 3.0

Re: Нажатие на ссылки в окне, открытом window.open

Большое спасибо за общение.
Как я выяснил многими тестами - стандартным средствами придать нормальное поведение для ФФ не получается.
Дальше буду уже искать приемлемые в моей ситуации пути решения.
Можно считать тред закрытым.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]