Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   как открыть новую вкладку? (https://javascript.ru/forum/events/30398-kak-otkryt-novuyu-vkladku.html)

trololo 02.08.2012 23:16

как открыть новую вкладку?
 
после определённых действий пользователя, нужно открыть ссылку на другой ресурс в новой вкладке. window.open не открывает, или пытается открыть но браузер блочит. смотря где тестить. с location.href вообще вроде не получится такое.. пытался ещё так
var a=document.createElement('a');
a.href="site.com"
a.target="_blank";
document.body.appendChild(a);
a.click();

тоже не получается.. есть ли ещё способы отправить пользователя на другой сайт но в новой вкладке?

Deff 02.08.2012 23:20

Цитата:

Сообщение от trololo
window.open

trololo,
Кликните не выпендриваясь ссылку с нужным адресом

ссылку просто вставьте в страницу заранее и скройте display:none

melky 02.08.2012 23:23

да, вроде бы, не блочит. а что будет открываться - вкладка, или окно - решает только сам браузер.
погуглим? <a href="http://google.ru/?q=FOOBAR">готов!</a>(нажать)
<script>
document.body.onclick = function (e) {
	open( (e ? e.target:window.event.srcElement).href );
};
</script>

Dim@ 02.08.2012 23:25

melky,
скажи что это за х**ня?:D :blink: :blink:

melky 02.08.2012 23:31

Цитата:

Сообщение от Dim@ (Сообщение 194120)
melky,
скажи что это за х**ня?:D :blink: :blink:

там написано, что это такое

Deff 02.08.2012 23:34

<script type="text/javascript">
function Zz(){
document.getElementById('Open').click();
}
</script>


<a id="Open" style="display:none"  href="http://htmlbook.ru/css/table-layout" target="_blank">0</a>
<input type="button" value="Click" onclick="Zz()">

Dim@ 02.08.2012 23:39

melky,
окей, а каким хреном работает обфусцированный скрипт?:blink: :blink:

trololo 03.08.2012 00:03

Цитата:

Сообщение от Deff (Сообщение 194117)
trololo,
Кликните не выпендриваясь ссылку с нужным адресом

ссылку просто вставьте в страницу заранее и скройте display:none

нет, просто не выпендриваясь не катит.. примерное следующая последовательность происходит:

пользователь нажимает на определённый элемент, отправляется ajax запрос, в onreadystatechange вызывается другой метод, в котором окно confirm и вот тут в зависимости от того что выберет пользователь ok/cancel, должна открыться ссылка в новой вкладке. типа if(confirm('okay?')){ открываем }

Deff 03.08.2012 00:05

Цитата:

Сообщение от trololo
в onreadystatechange вызывается другой метод, в котором окно confirm и вот тут в зависимости от того что выберет пользователь ok/cancel, должна открыться ссылка в новой вкладке. типа if(confirm('okay?')){ открываем }

trololo,
Вот тогда и кликаешь

document.getElementById('Open').click();

trololo 03.08.2012 00:07

Цитата:

Сообщение от Dim@ (Сообщение 194125)
melky,
окей, а каким хреном работает обфусцированный скрипт?:blink: :blink:

для браузера не важно читабелен ли код, вот сегодня как раз читал об этом http://habrahabr.ru/post/112530/. есть и по жестче обфускация и ничего - справляется. хотя меня больше интересует вопрос в скорости работы такого скрипта..


Часовой пояс GMT +3, время: 08:00.