如何使用 header 在 PHP 中打开新的两个标签页
How to open new two tabs in PHP using header
我正在尝试使用 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);
它需要打开新的两个带有传递值的选项卡
使用 header 这是不可能的。 Header 会将您重定向到一个页面。
像这样的东西会起作用:
<a href='xy.php' target='_blank'>text</a>
终于我自己得到了答案
echo "<script type='text/javascript'>
window.open( '/print_register.php?recpt_no=$recpt_no' )
</script>";
使用它会打开新标签页
无法指定 window 作为选项卡打开。它是作为新选项卡打开还是作为新 window 打开完全取决于浏览器及其配置。查看这些情况的最佳方法是不区分制表符和 window 并从那里继续。
话虽如此,正如其他人已经提到的,不可能通过PHP打开一个新的window。 header()
函数只会重定向当前 window。您需要通过标准 link
来实现这一点
<a href="http://www.google.com/" target="_new" />
或JavaScript
window.open('http://www.google.com/');
在你的特定情况下,你想启动两个,所以你可以通过组合两者来做到这一点(假设你可以使用 link)
<a href="http://www.google.com/" target="_new" onclick="javascript:window.open('http://www.whosebug.com/')" />
或通过 JavaScript 启动两者。这是一个允许您将目标地址存储在数组中并启动它们的示例:
window.onload = function() {
var links = new Array('http://www.google.com/', 'http://www.whosebug.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
link不需要是绝对路径,可以使用相对路径如./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.whosebug.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
</script>
</head>
<body>
...
</body>
</html>
您不需要将整个脚本放入 PHP echo
。相反,请在需要的地方编写正常的代码和 echo
PHP 变量。它将保持代码的 PHP 端更清晰,并对性能有一点帮助,但可能不会引人注意。
希望对您有所帮助。 ^^
JSFiddles
- Link: http://jsfiddle.net/zLh3dusx/
- JavaScript: http://jsfiddle.net/89boc383/
- 合并:http://jsfiddle.net/b9zne07r/
- JavaScript数组:http://jsfiddle.net/9ohLxxLo/
PHP 不能做到这一点,但你可以用 JavaScript.
做一些非常相似的事情
我在使用 jQuery 之前完成了此操作,具有 link 和简单的 100 毫秒超时。
Checkout.
http://jsfiddle.net/hw3t1syz/
我正在尝试使用 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);
它需要打开新的两个带有传递值的选项卡
使用 header 这是不可能的。 Header 会将您重定向到一个页面。
像这样的东西会起作用:
<a href='xy.php' target='_blank'>text</a>
终于我自己得到了答案
echo "<script type='text/javascript'>
window.open( '/print_register.php?recpt_no=$recpt_no' )
</script>";
使用它会打开新标签页
无法指定 window 作为选项卡打开。它是作为新选项卡打开还是作为新 window 打开完全取决于浏览器及其配置。查看这些情况的最佳方法是不区分制表符和 window 并从那里继续。
话虽如此,正如其他人已经提到的,不可能通过PHP打开一个新的window。 header()
函数只会重定向当前 window。您需要通过标准 link
<a href="http://www.google.com/" target="_new" />
或JavaScript
window.open('http://www.google.com/');
在你的特定情况下,你想启动两个,所以你可以通过组合两者来做到这一点(假设你可以使用 link)
<a href="http://www.google.com/" target="_new" onclick="javascript:window.open('http://www.whosebug.com/')" />
或通过 JavaScript 启动两者。这是一个允许您将目标地址存储在数组中并启动它们的示例:
window.onload = function() {
var links = new Array('http://www.google.com/', 'http://www.whosebug.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
link不需要是绝对路径,可以使用相对路径如./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.whosebug.com/');
for(var i = 0; i < links.length; i++) {
window.open(links[i]);
}
}
</script>
</head>
<body>
...
</body>
</html>
您不需要将整个脚本放入 PHP echo
。相反,请在需要的地方编写正常的代码和 echo
PHP 变量。它将保持代码的 PHP 端更清晰,并对性能有一点帮助,但可能不会引人注意。
希望对您有所帮助。 ^^
JSFiddles
- Link: http://jsfiddle.net/zLh3dusx/
- JavaScript: http://jsfiddle.net/89boc383/
- 合并:http://jsfiddle.net/b9zne07r/
- JavaScript数组:http://jsfiddle.net/9ohLxxLo/
PHP 不能做到这一点,但你可以用 JavaScript.
做一些非常相似的事情我在使用 jQuery 之前完成了此操作,具有 link 和简单的 100 毫秒超时。
Checkout.
http://jsfiddle.net/hw3t1syz/