我想要在新标签页中打开,而不是弹出窗口。

7

我想要打开一个新的标签页。 但是Window.open()却弹出了一个弹窗。

我想要在一个新的标签页中打开hello.php文件。 但是它却在一个新的弹窗中打开了。

<!DOCTYPE html>
<html>
<head>
<script language="javascript">

document.onmousedown=disableclick;
//status="Right Click Disabled";

function disableclick(event)
{
  if(event.button==2)
   {
     //alert(status);
     return false;    
   }
}
</script>
</head>
<body oncontextmenu="return false">

<form action="" method="POST" oncontextmenu="return false">



<b>Enter Username:</b><input type="text" name="username" value=""/><br>

<b>Enter Password: </b><input type="password" name="password" value=""/><br>

<input type="submit" value="submit" name="submit"/>
<input type="reset" value="reset" name="reset"/>

</form>

<?php


if (isset($_POST['submit'])) 
{

$username=$_POST['username'];
$password=$_POST['password'];

mysql_connect("localhost", "root", "") or die(mysql_error()); 

mysql_select_db("demo") or die(mysql_error()); 

$result=mysql_query("select * from employees where name='$username' and pass='$password'") 
 or die(mysql_error()); 


if(mysql_num_rows($result)==0)
{
print "<br/>";
print "<b>Incorrect Username/Password!!!</b>";
}
else
{


mysql_query("Create table $username(Question_No varchar(10),Selected_Answer varchar(10))") 
 or die(mysql_error());  


print "<br/>";
print "<b>Login successful!!!</b><br/><br/>";


print "<script>window.open('hello.php?username=$username')</script>";


print "<script>window.close('userdetails.php')</script>";
}

}
?>

</body>
</html>

这是一个浏览器设置的问题。你不能用代码解决这个问题。 - Andy
1
可能是重复的问题:JavaScript如何在新窗口中打开而不是新标签页 或者 https://dev59.com/Gm015IYBdhLWcg3w9gjh - Mike B
你使用的是哪个浏览器? - Yatin Trivedi
我正在使用Google Chrome。 - RedSun
https://dev59.com/aW445IYBdhLWcg3wWY8U - Andy
3个回答

10

如果可能是Javascript覆盖函数的问题,请执行以下操作:

<script>
(function(window, undefined){
    var win = window.open('your_url', '_blank');
    win.focus();
})(window);
</script>

这样做会使你无法在函数(window, undefined)之外使用其他JavaScript代码中的函数。


当然可以使用 window.opener,它会给你打开当前窗口的窗口名称。 - fray88

1
将要打开的URL分配给a标签的href属性,同时设置target="_blank",需要时触发链接点击。示例:
<a id="myLink" href="hello.php?username=<?php echo $username; ?>" target="_blank">

然后,调用一个JS函数来触发链接点击。
document.getElementById('myLink').click();

1
你可以通过 window.open(url, '_blank'); 来实现。

1
使用 window.open 告诉浏览器打开新的东西,浏览器会根据其设置打开所选的标签页或窗口。 - Andy
我能在这个新打开的窗口中使用 opener 吗? - Kamran Ahmed
你能详细说明一下你的问题吗? - souvickcse

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接