我正在尝试用Php打开一个新标签页
header("location:print_register.php?recpt_no=".$recpt_no);
像这样我需要像这样打开新的两个标签
header("location:print_register.php?recpt_no=".$recpt_no);
header("location:print_generate.php?recpt_no=".$recpt_no);
需要打开带有传递值的新两个标签
答案 0 :(得分:2)
无法指定要作为标签打开的窗口。它是作为新选项卡还是新窗口打开,完全取决于浏览器及其配置。查看这些情况的最佳方法是不区分选项卡和窗口,并从那里继续。
话虽如此,正如其他人已经提到的那样,不可能通过PHP打开一个新窗口。 header()
函数只会重定向当前窗口。您需要通过标准链接
<a href="http://www.google.com/" target="_new" />
或JavaScript
window.open('http://www.google.com/');
在您的特定情况下,您希望启动两个,因此您可以通过组合这两个来实现此目的(假设您可以使用链接)
<a href="http://www.google.com/" target="_new" onclick="javascript:window.open('http://www.stackoverflow.com/')" />
或通过JavaScript启动。这是一个示例,它允许您将目标地址存储在一个数组中并启动它们:
window.onload = function() {
var links = new Array('http://www.google.com/', 'http://www.stackoverflow.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
链接不一定是绝对的,因此您可以使用相对路径,例如./print_register.php?recpt_no=
。
现在,既然你从PHP中提取了部分地址,事情会变得复杂一点,但不是很多。基本上,您只需要使用PHP来完成呈现的JavaScript:
<?php
$recpt_no = 'RN426762';
?>
<html>
<head>
<script>
window.onload = function() {
var links = new Array('./print_register.php?recpt_no=<?php echo $recpt_no; ?>', 'http://www.stackoverflow.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
</script>
</head>
<body>
...
</body>
</html>
您不需要将整个脚本放入PHP echo
。相反,在需要的地方编写代码normal和echo
PHP变量。它会保持代码的PHP端更清晰,并且对性能有所帮助,但可能并不明显。
我希望这会有所帮助。 ^^
<强> JSFiddles 强>
答案 1 :(得分:1)
有了标题,这是不可能的。标题会将您重定向到页面。
这样的事情会起作用:
<a href='xy.php' target='_blank'>text</a>
答案 2 :(得分:1)
PHP无法做到这一点,但你可以做一些与JavaScript非常相似的事情。
我在使用jQuery之前已经完成了这个,链接和一个简单的100ms超时。
Checkout.
http://jsfiddle.net/hw3t1syz/
答案 3 :(得分:0)
最后我自己得到了一个白痴
echo "<script type='text/javascript'>
window.open( '/print_register.php?recpt_no=$recpt_no' )
</script>";
使用它会打开新标签