powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript rederection
24 сообщений из 24, страница 1 из 1
JavaScript rederection
    #38404027
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как делать перенаправление на JS я знаю:

Код: javascript
1.
window.location.href = "http://www.site.com";



Но вот как открывать сайт в новом табе\новом окне?
...
Рейтинг: 0 / 0
JavaScript rederection
    #38404123
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AreostarНо вот как открывать сайт в новом табе\новом окне?
Так же как и раньше...

Код: javascript
1.
window.open(...);
...
Рейтинг: 0 / 0
JavaScript rederection
    #38404165
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
JavaScript rederection
    #38405457
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот только если эту функцию положить на кнопку или ссылку, то она откроет новую вкладку

функция открытия и получения фокуса
Код: javascript
1.
2.
3.
4.
function ShowDetailWindowInTab(url, cpt) {
    var a = window.open(url, cpt);
    a.focus();
}




а если она будет вызвана из другой функции по ссылке, то она откроется в новом окне.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
function MonitorList_SelectRow() {
    window.gMonitor.GetSelectedFieldValues("field1", OnGetSelectedFieldValues); //из библиотеки с колбек функцией
    ShowDetailWindowInTab("asdsd.aspx", "window1");  <---- тут откроется в новой вкладке
end;

function OnGetSelectedFieldValues();
{
   ....
  ShowDetailWindowInTab("asdsd.aspx", "window1");  <--- тут откроется в новом окне
}



Кто-нибудь знает как это исправить?
...
Рейтинг: 0 / 0
JavaScript rederection
    #38405541
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostarа если она будет вызвана из другой функции по ссылке, то она откроется в новом окне.Такого по идее не должно быть. Это во всех браузерах проявляется?
...
Рейтинг: 0 / 0
JavaScript rederection
    #38405544
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZardoZа если она будет вызвана из другой функции по ссылке, то она откроется в новом окне.
Код: javascript
1.
2.
3.
4.
5.
function OnGetSelectedFieldValues();
{
   ....
  ShowDetailWindowInTab("asdsd.aspx", "window1");  <--- тут откроется в новом окне
}



Кто-нибудь знает как это исправить?
Что за зверь такой ShowDetailWindowInTab ?
...
Рейтинг: 0 / 0
JavaScript rederection
    #38405550
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Просыпайся уже, в том же посте ее исходник. :)
...
Рейтинг: 0 / 0
JavaScript rederection
    #38405959
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПросыпайся уже, в том же посте ее исходник. :)
Ох ёёё...
...
Рейтинг: 0 / 0
JavaScript rederection
    #38406689
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyAreostarа если она будет вызвана из другой функции по ссылке, то она откроется в новом окне.Такого по идее не должно быть. Это во всех браузерах проявляется?

Opera 16, Google Chrome 28-29, Яндекс.Браузер, Меил.Интернет. При вызове из колбэк функции открывается новое окно (в опере еще и 100х100 пикселей), а не вкладка. Если такое окно уже существовало, то оно обновляется, но фокус не передается (a.focus() не работает).

IE 9-11, FireFox 23 открывается во вкладке, но фокус не передается (a.focus() не работает).

Повторюсь при прямом вызове опять же все впорядке. Может нужно как-то передать контекст окна... Я хз даже.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38406877
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прям заинтриговали...

Сделал тестовый пример...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var i=0;
function test() {
	openWin('tmp1.html','win'+(i++));
}
function openWin(url, cpt) {
    var a = window.open(url, cpt);
    a.focus();
}
</script>
</head>
<body>
<body>
<input type="button" value="Open" onclick="test();">
</body>
</body>
</html>



Запустил в:
Опере - вкладка
ФФ - вкладка
Хром - вкладка
ИЕ8 - новое окно (но он у меня так все window.open() и открывает)

P.S.
Пример того tmp1.html для т.с. чистоты эксперимента...

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<!DOCTYPE html>
<html>
<head>
<title>Index</title>
<style type="text/css">
</style>
</head>
<body>
<p>new window</p>
</body>
</html>
...
Рейтинг: 0 / 0
JavaScript rederection
    #38406920
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa ИЕ8 - новое окноУ него это регулируется настройкой.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38406969
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyУ него это регулируется настройкой.
Я знаю.
Просто такое его поведение меня устраивает.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407588
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас тут просто не колбэк. Вложенный вызов и у меня работает корректно.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407628
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде если сабмиттить форму (вместо window.open), то IE7+ будет на новой вкладке открывать
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407729
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZardoZУ вас тут просто не колбэк. Вложенный вызов и у меня работает корректно.
Где твой тестовый пример?
Пока только слова...
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407800
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaZardoZУ вас тут просто не колбэк. Вложенный вызов и у меня работает корректно.
Где твой тестовый пример?
Пока только слова...

Пардоньте, я не думал что его сложно воспроизвести:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var i=0;
function OnCallback() {
	openWin('tmp1.html','win'+(i++));
}

function test(callback) {
	setTimeout(callback, 3000);	
}

function openWin(url, cpt) {
    var a = window.open(url, cpt);
    a.focus();
}
</script>
</head>
<body>
<body>
<input type="button" value="Open" onclick="test(OnCallback);">
</body>
</body>
</html>
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407990
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZardoZя не думал что его сложно воспроизвести
В тестах ничего придумывать самому не нужно. Иначе нет чистоты эксперимента. Т.е. все будут делать разное, а нужно делать один в один.

Результаты:
Опера - вкладка (блокировалось)
ФФ - вкладка (блокировалось)
Хром - окно (блокировалось)
ИЕ8 - окно
...
Рейтинг: 0 / 0
JavaScript rederection
    #38407999
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Есть идеи как это исправить? Подозрева, что все дело в асинхронном вызове. Я так подозреваю, что нужно сохранить контекст до вызова функции с колбеком, а в колбеке его восстановить. Но что в данном случае сохранять не могу представить.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38408003
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZardoZПодозрева, что все дело в асинхронном вызове.
У меня такие же подозрения...

ZardoZЕсть идеи как это исправить?
Х/з...
Это ведь браузеры так все воспринимают... А у них настроек тьма...
Покопайся в тех настройках... Может что и получится...
...
Рейтинг: 0 / 0
JavaScript rederection
    #38408503
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<html>
	<head>
		<title>bvnbvn</title>
		<script type="text/javascript">
		function goodOpen() {
			var url = "http://www.sql.ru";
			var form = document.createElement("form");
			form.action = url;
			form.target = "_blank";
			document.body.appendChild(form);
			form.submit();
		}
		</script>
	</head>
	<body>
		<input type="button" value="1111" onclick="goodOpen();" />
	</body>
</html>
...
Рейтинг: 0 / 0
JavaScript rederection
    #38408952
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имя пользователя1,

В FF и IE пашет нормально (window.open() тоже нормально после запрета блокировки).

Opera по прежнему окно 200*200 пикселей открывает. В Chrome и его аналогах ничего не изменилось - окно. Похоже тут просто проблема в самих браузерах.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38408956
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a.open(); по прежнему нигде не пашет.
...
Рейтинг: 0 / 0
JavaScript rederection
    #38409166
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
window.open(...) срабатывает в течение 1000 мс после события, инициируемого прямыми действиями пользователя.
Если прошло более 1000 мс, или пользователь специально не "генерировал события" своими действиями,
то по-умолчанию новоле окно/вкладка будет блокировано до подтверждения пользователем.
(например, попробуйте сделать body onload="window.open(...)" - облом).
...
Рейтинг: 0 / 0
JavaScript rederection
    #38409184
ZardoZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз уточню - все всплывающие окна разрешены и настроены как новая вкладка.
Проблема в том, что при асинхронном вызове window.open() ведет себя не так как в синхронном в одной и той же тестовой среде. Особо страдают Chrome подобные браузеры и Opera.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript rederection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]