Javascript 无法在浏览器中打开新选项卡?
这听起来像是重复的问题,但我不知道我面临什么问题 这是我的密码Javascript 无法在浏览器中打开新选项卡?,javascript,html,Javascript,Html,这听起来像是重复的问题,但我不知道我面临什么问题 这是我的密码 <!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'); }
<!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>
函数open()
{
var win=window.open('http://stackoverflow.com/","空白",;
如果(赢){
win.focus();
}否则{
警报(“请允许此站点弹出窗口”);
}
}
在线用户
约翰
我希望在单击John时打开一个新选项卡,但它会在同一窗口上打开url。我不知道我在这里做错了什么试试:
<li onClick="window.open('http://stackoverflow.com/', '')">John</li>
约翰
使用openx()而不是open()
函数openx()
{
var win=窗口打开(“http://stackoverflow.com/“,”空白“);
}
在线用户
约翰
这取决于您的浏览器设置:在新窗口中打开,或作为新选项卡打开。
因此,您可能无法强制浏览器打开新选项卡而不是窗口。要打开win,您应该:
<li onClick="window.open('https://stackoverflow.com/', '_blank')">John</li>
如果在浏览器中未在“首选新选项卡”或“窗口”上设置特殊行为,它将在“新选项卡”中打开。但如果你为窗口添加额外的参数,它将在新窗口中打开
<li onClick="window.open('https://stackoverflow.com/', '_blank','height=200,width=200')">John</li>
John
此外,这个话题有很多讨论:
更改函数名称,定义不带作用域的函数与window.functionName相同 所以,当您定义“打开”时,您就超越了Windows.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>
约翰
尝试为函数使用不同的名称
<script>
function open1()
{
var win = window.open('http://stackoverflow.com/', '');
if(win){
win.focus();
}
else{
alert('Please allow popups for this site');
}
}
</script>
函数open1()
{
var win=window.open('http://stackoverflow.com/', '');
如果(赢){
win.focus();
}
否则{
警报(“请允许此站点弹出窗口”);
}
}
HTML标记:
<li onclick="open1()">John</li>
约翰
我想打开一个新选项卡而不是窗口不幸的是,你不能在新选项卡或窗口之间进行选择。@更新鲜的是,你不能选择在新选项卡而不是新窗口中打开。我不太确定,但我认为这种行为是由浏览器控制的-我的意思是,什么时候打开新窗口或新标签。我使用的是firfox 28.0,我在chrome上也面临同样的问题。那么有没有其他的选择呢this@laaposto他的回答对我有用。但这是因为我的浏览器设置为在新选项卡中打开,而不是在新窗口中打开。打开某物的唯一方法是使用
窗口。打开。但决定如何打开它的是浏览器,但它也不会打开新窗口even@Dontvotemedown所以我无能为力,但也不会打开新窗口,也不会试图覆盖标准功能。打开===window.open
<li onclick="open1()">John</li>