как открыть новую вкладку?
после определённых действий пользователя, нужно открыть ссылку на другой ресурс в новой вкладке. window.open не открывает, или пытается открыть но браузер блочит. смотря где тестить. с location.href вообще вроде не получится такое.. пытался ещё так
var a=document.createElement('a');
a.href="site.com"
a.target="_blank";
document.body.appendChild(a);
a.click();
тоже не получается.. есть ли ещё способы отправить пользователя на другой сайт но в новой вкладке? |
Цитата:
Кликните не выпендриваясь ссылку с нужным адресом ссылку просто вставьте в страницу заранее и скройте display:none |
да, вроде бы, не блочит. а что будет открываться - вкладка, или окно - решает только сам браузер.
погуглим? <a href="http://google.ru/?q=FOOBAR">готов!</a>(нажать)
<script>
document.body.onclick = function (e) {
open( (e ? e.target:window.event.srcElement).href );
};
</script>
|
melky,
скажи что это за х**ня?:D :blink: :blink: |
Цитата:
|
<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()">
|
melky,
окей, а каким хреном работает обфусцированный скрипт?:blink: :blink: |
Цитата:
пользователь нажимает на определённый элемент, отправляется ajax запрос, в onreadystatechange вызывается другой метод, в котором окно confirm и вот тут в зависимости от того что выберет пользователь ok/cancel, должна открыться ссылка в новой вкладке. типа if(confirm('okay?')){ открываем } |
Цитата:
Вот тогда и кликаешь
document.getElementById('Open').click();
|
Цитата:
|
Цитата:
|
trololo,
1. Создать заранее элемент на странице и скрыть 2. Кликать кады нужно программно 3. Как у Вас - не всматривался =================================== В Примере - кроссбраузерность проверили ? |
Цитата:
|
Цитата:
|
var a=document.createElement('a');
a.href='http://google.com';
a.id='tmpLink';
a.target='_blank';
a.innerHTML='0';
a.onclick=function(){ // добавил чтобы посмотреть вызовется ли
document.title='clicked'; // титл меняется. то есть клик происходит.
} // но ссылка по прежнему не открывается..
with(a.style)
display='none';
document.body.appendChild(a);
if(confirm('ok?')){
document.getElementById('tmpLink').click();
}
|
trololo,
Вы можете тупо вставить тег на страницу - не скриптом ??? - Я же выложил код - из скрипта ток програмный клик и, если надо, - замена ссылки |
Цитата:
|
trololo,
Цитата:
<!DOCTYPE html PUBLIC>
<html>
<head>
<body>
<script type="text/javascript">
//Tyт функция, которую вызываем по требованию в вашем скрипте
function Zz(){
document.getElementById('Open').click();
}
var a='<a id="Open" style="display:none" href="http://htmlbook.ru/css/table-layout" target="_blank">0</a>\
<input type="button" value="Click" onclick="Zz()">';
var newDiv = document.createElement('div');
newDiv.className = 'my-class'
//newDiv.style.display = 'none' //cкрытие кнопки
newDiv.id = 'my-id'
newDiv.innerHTML=a;
document.body.appendChild(newDiv);
</script>
</body>
</html>
|
вот так вот уже, получается «запустить ссылку»
var div=document.createElement('div');
div.style.display='none';
div.innerHTML='<a id="tmpLink" href="http://google.com" target="_blank">ok</a>';
document.body.appendChild(div);
if(confirm('?')){
document.getElementById('tmpLink').click();
}
вот только target="_blank" не учитывается почему-то.. даже не так, он учитывается и если этот атрибут присутствует в ссылке то ничего не открывается вообще, а если его убрать то ссылка открывается. жесть вообще.. или я уже не соображаю, так как время позднее. |
trololo,
Попробуйте скрипт поставить на чистую тестовую страницу
<!DOCTYPE html PUBLIC>
<html>
<head>
<body>
<script type="text/javascript">
var div=document.createElement('div');
div.style.display='none';
div.innerHTML='<a id="tmpLink" href="http://google.com" target="_blank">ok</a>';
document.body.appendChild(div);
if(confirm('?')){
document.getElementById('tmpLink').click();
}
</script>
</body>
</html>
FF все одно блокирет все ссылки созданные скриптом - Занчит выход: Находите на странице любую, имеющуюся на исходнике станицы ссылку с таргет и при возникновении Ваших условий - заменяете href на нужный и кликаете программно |
<script type="text/javascript">
function Zz(){
var a = document.getElementById('Open');
a.href='http://google.com';
a.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()">
|
Цитата:
if(confirm('?')){ Zz(); } то тут и начинается магия, ссылка открывается, только если убрать target="_blank".. и такое творится даже с уже существующими ссылками, которые созданы не программно. |
trololo,
Возможны траблы из-за модального Окна confirm
<style type="text/css"> /* Вариант нового Стиля */
#confirm{
background:#F7F7F7;
border:1px solid red;
padding:12px;
width:200px;
height:100px;
position:fixed;
z-index:100;
left:50%;
top:20%;
margin-left:-100px;
border-radius:15px;
-webkit-border-radius:15px;
-khtml-border-radius:15px;
-moz-border-radius:15px;
-o-border-radius:15px;
-ms-border-radius:5px;
box-shadow: 0px 5px 18px #000;
-webkit-box-shadow:0px 5px 18px #000;
-khtml-box-shadow:0px 5px 18px #000;
-moz-box-shadow:0px 5px 18px #000;
-ms-box-shadow:0px 5px 18px #000;
}
</style>
<div id="confirm" style="display:none;">
<a id="Open" style="display:none" href="http://htmlbook.ru/css/table-layout" target="_blank">0</a>
Тут Ваше Извещение
Вы Готовы ?<br>
<p style="float:right;margin-top:40px;">
<input type="button" value="Да" onclick="Zz();gloseConfirm()"> <input type="button" value="Отмена" onclick="gloseConfirm()">
</p></div>
<script type="text/javascript">
function gloseConfirm(){
document.getElementById('confirm').style.display='none';
}
function Zz(){
var a = document.getElementById('Open');
a.href='http://google.com';
a.click();
}
if(true) {
document.getElementById('confirm').style.display='block';
}
</script>
Гы - Вывод - не делайте Переход с Вызовом confirm: Поставьте разворачивающийся div c Вашим вопросом - и по нажатию в нем кнопки - переход |
Цитата:
<style>
.a_but{display:block;width:50px;height:20px;
background:rgba(200,200,200,1);text-decoration:none; border-radius:5px;}
</style>
<a class=a_but href='http://javascript.ru' target=_blank>да</a>
|
Цитата:
|
ха, да вот это я протупил. действительно можно ведь отрисовать своё окно)) спс, посоны.
|
<a href="анкор" target="_blank" >Text сылки</a> и все дела
|
Цитата:
|
| Часовой пояс GMT +3, время: 01:07. |