2014-05-05 110 views
2

这可能听起来像重复的问题,但我不知道我面临什么问题。无法在浏览器中打开新标签页?

这是我的代码

<!DOCTYPE html> 
<html> 
<body> 
<script> 
function open() 
{ 
var win = window.open('http://stackoverflow.com/', '_blank'); 
if(win){ 

win.focus(); 
}else{ 
alert('Please allow popups for this site'); 
} 
} 
</script> 
<div align="center"> 
<h4>Online Users</h4> 
<ul> 
<li onClick="open()">John</li> 
</ul> 
</div> 
<link href="http://fonts.googleapis.com/css?family=Open+Sans Condensed:300italic,300,700" rel="stylesheet" type="text/css"> 

    <div class="nomessages"> 

     <img src="../img/unnamed.jpg" id="noMessagesImage" /> 

     </div> 
<div class="chatscreen"> 

     <ul class="chats"> 
      <!-- The chat messages will go here --> 
     </ul> 

    </div> 

<form id="chatform"> 

     <textarea id="message" placeholder="Write something.." rows="10" cols="30"></textarea> 
     <input type="submit" id="submit" value="SEND"/> 

    </form> 


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<script src="../js/moment.min.js"></script> 
<script src="/socket.io/socket.io.js"></script> 
<script src="../js/chat.js"></script> 
</body> 
</html> 

我希望能打开当我点击约翰一个新的标签,而是它开在同一window.I的网址不知道我在做什么错在这里

+1

我不那么肯定,但我认为这行为是浏览器控制的 - 我的意思是,何时打开新窗口或新标签页。 – DontVoteMeDown

+0

我正在使用firfox 28.0我在chrome中也面临同样的问题。所以有没有其他的 – Fresher

+0

@ laaposto的答案对我有用。但这是因为我的浏览器设置为在新标签中打开,而不是新窗口。打开某个东西的唯一方法是使用'window.open'。但是,浏览器决定如何打开它。 – DontVoteMeDown

回答

3

尝试:

<li onClick="window.open('http://stackoverflow.com/', '')">John</li> 

DEMO

+1

我想打开一个新标签不是窗口 – Fresher

+1

@Fresher是啊它的工作http://jsfiddle.net/8g55U/。为我打开一个新标签。 – DontVoteMeDown

+0

不幸的是,你不能在新选项卡或窗口之间进行选择。 – Getz

3

使用的OpenX(),而不是打开()。

<!DOCTYPE html> 
<html> 
<body> 
<script> 


function openx() 
{ 
var win = window.open("http://stackoverflow.com/", "_blank"); 
} 
</script> 
<div align="center"> 
<h4>Online Users</h4> 
<ul> 
<li onclick="openx()">John</li> 
</ul> 
</div> 
</body> 
</html> 

Demo

+0

还没开业 – Fresher

+1

为我工作。请检查演示。谢谢:) – Amit

2

嗯,这取决于你的浏览器设置:在新窗口中打开,或打开一个新的标签。 所以很可能,你不能强制浏览器打开新标签而不是窗口。

+0

但是也不打开一个新窗口,即使 – Fresher

2

要打开赢得你应该:

<li onClick="window.open('https://stackoverflow.com/', '_blank')">John</li> 

如果在浏览器中没有设置特殊的行为上喜欢新的标签或窗口将在新标签中打开。但是如果你为窗口添加额外的参数,它将以新的方式打开。

<li onClick="window.open('https://stackoverflow.com/', '_blank','height=200,width=200')">John</li> 

此外,这个话题有很多讨论:功能 2011 year StackOverflow

+0

也不要尝试覆盖标准功能。打开=== window.open – deadulya

4

更改名称,定义一个函数没有范围亦相同window.functionName

所以当你定义开放的,你打开window.open 所以更改为您的功能 打开2或东西的名称

function open2() 
{ 
var win = window.open('http://stackoverflow.com/', '_blank'); 
if(win){ 

win.focus(); 
}else{ 
alert('Please allow popups for this site'); 
} 
} 

,并在你的HTML

<li onclick="open2()">John</li> 
3

尝试的功能使用不同的名称..

<script> 
function open1() 
{ 
    var win = window.open('http://stackoverflow.com/', ''); 
    if(win){ 

    win.focus(); 
} 
else{ 
    alert('Please allow popups for this site'); 
} 
} 
</script> 

HTML标记

<li onclick="open1()">John</li> 
相关问题