Window.open + href заменить и открыть новое окно, но не используя target _blank

я застрял на чем-то, где я хочу, чтобы ссылки Test 1 и Test 2 открывались в новом окне, не target=_blank в новом окне, чтобы всплывающее окно не открывалось как вкладка в firefox и т. д. "href" в javascript для заполнения href # в ссылках Test 1 и Test 2. Что я делаю неправильно с этим, поэтому я также могу открыть всплывающее окно в новом окне, но не в качестве цели _blank?

<p><a id="test1" href="#">Test 1</a></p>
<p><a id="test2" href="#">Test 2</a></p>

<script> 
if(chatlink_flag == 'true')
{ 
document.getElementById('test1')window.open.href('http://www.example.com/chat1/open.htm','window1','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no'); 
document.getElementById('test2')window.open.href('http://www.example.com/chat2/open.htm','window2','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no'); 
}else{ 
document.getElementById('test1')window.open.href('http://www.example.com/chat1/closed.htm','window1','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no'); 
document.getElementById('test2')window.open.href('http://www.example.com/chat2/closed.htm','window2','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no'); 
}
</script>

person Evan    schedule 13.05.2011    source источник


Ответы (2)


Ваш код выглядит нормально, за исключением того, что в нем отсутствует часть «javascript:».

Итак, вы можете попробовать сделать строки window.open следующим образом:

document.getElementById('test1').href = "javascript:window.open('http://www.yourpage.com/', 'window1', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no')";
person Dave    schedule 13.05.2011
comment
Спасибо, так как это решило мою проблему. Кроме того, добавление void, а затем (open) предотвратило появление возвращаемого значения сообщения [object Window]: document.getElementById('test1').href = javascript:void(open('yourpage.com', 'window1','srollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar= нет, местоположение = нет, статус = нет')); - person Evan; 13.05.2011

Я не уверен, что вы ожидали от этого кода, но следующее должно работать для вас:

<p><a id="test1" href="#" onclick="open_window(1);">Test 1</a></p>
<p><a id="test2" href="#" onclick="open_window(2);">Test 2</a></p>

<script type="text/javascript">

function open_window(id) {
    if (chatlink_flag) {
        window.open('http://www.example.com/chat' + id + '/open.htm','window' + id,'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');
    }
    else {
        window.open('http://www.example.com/chat' + id + '/closed.htm','window' + id,'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,location=no,status=no');
    }
}

</script>
person Christian    schedule 13.05.2011
comment
к сожалению, я не могу добавлять клики к своим ссылкам. это такая унылая неспособность тоже. наши ссылки управляются в CMS, и клики по кликам для нас недоступны. :( - person Evan; 13.05.2011
comment
в этом случае просто измените hrefs на javascript:open_window(1);, javascript:open_window(2); и т. д. В качестве альтернативы вы можете использовать jQuery для привязки обработчиков событий к якорям. - person Christian; 13.05.2011