如何使用标题在 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);

它需要打开带有传递值的新两个选项卡

无法指定要作为选项卡打开的窗口。它是作为新选项卡还是新窗口打开完全取决于浏览器及其配置。查看这些情况的最佳方法是不要将选项卡与窗口区分开来,然后从那里继续前进。

话虽如此,正如其他人已经提到的,通过 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 中。相反,编写代码正常,并在需要的地方echo PHP 变量。它将保持代码的PHP端更干净,并对性能有所帮助,但可能不会引起注意。

我希望这有所帮助。 ^^

JSFiddles

  • 链接: http://jsfiddle.net/zLh3dusx/
  • JavaScript: http://jsfiddle.net/89boc383/
  • 综合:http://jsfiddle.net/b9zne07r/
  • JavaScript 数组:http://jsfiddle.net/9ohLxxLo/

使用标题是不可能的。标题会将您重定向到一个页面。

这样的东西会起作用:

<a href='xy.php' target='_blank'>text</a>

PHP 不能做到这一点,但你可以用 JavaScript 做一些非常相似的事情。

我已经在使用jQuery之前完成了此操作,带有链接和简单的100ms超时。

Checkout.
http://jsfiddle.net/hw3t1syz/

最后我自己得到了Anwser

echo "<script type='text/javascript'>   
window.open( '/print_register.php?recpt_no=$recpt_no' )
</script>";

使用它,它将打开新选项卡