Как открыть две новые вкладки в PHP с помощью заголовка

0

Я пытаюсь открыть новую вкладку с 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

4 ответа

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>

Вам не нужно включать весь скрипт в echo PHP. Вместо этого напишите нормальный код и echo переменные PHP там, где это необходимо. Он сохранит PHP-сторону чистки кода и немного поможет в производительности, но, вероятно, не заметен.

Надеюсь, это поможет. ^^

JSFiddles

  • 0
    Я добавил интеграцию PHP, так как я упустил из виду, что часть ссылки исходит от PHP. ^^
1

С заголовком это просто невозможно. Заголовок перенаправляет вас на страницу.

Что-то вроде этого будет работать:

<a href='xy.php' target='_blank'>text</a>
  • 0
    stackoverflow.com/questions/726761/… - откройте новую вкладку / окно, используя JavaScript. +1 от меня, как с php это конечно невозможно.
  • 0
    в форме действий он откроет два окна можно
1

PHP не может этого сделать, но вы можете сделать что-то очень похожее на JavaScript.

Я выполнил это до использования jQuery со ссылкой и простым таймаутом в 100 мс.

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

наконец, я сам получил anwser

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

используйте его, он откроет новую вкладку

Ещё вопросы

Сообщество Overcoder
Наверх
Меню