PHP - открыть ссылку, в новом окне? - PullRequest
3 голосов
/ 11 августа 2010

Извините, если это явно очевидно, но я гуглил это и серьезно не могу найти какой-либо способ сделать это только на PHP.

Без с использованием HTML или Javascript - только на чистом PHP (из файла Controller на сайте CodeIgniter) - как открыть окно браузера с указанной мной ссылкой?

Возможно ли это?

Спасибо!

Jack

Редактировать: кажется, что некоторые люди неверно истолковывают то, что я имею в виду, я прошу прощения за то, что не дал достаточно ясного объяснения. Я знаю, что с PHP вы можете установить header("Location: http://site.com"), чтобы браузер загружал новое окно; Я хотел узнать, можно ли отправить заголовок, чтобы сказать «откройте Location в новом окне».

Изменить 2: , чтобы уточнить, что я хочу сделать: пользователь может что-то отправить на мой сайт. Прежде чем нажать «Отправить», они могут выбрать (с помощью флажка), чтобы сообщить об этом. Если этот флажок установлен, после того, как все будет вставлено в базу данных и т. Д., Будет загружено новое окно / вкладка с URL http://twitter.com/home?status=Hello%20World или любым другим сообщением в твиттере. Пользователь решил сделать это, поэтому я не «делаю то, что не должен». Оглядываясь назад, я понимаю, что, вероятно, есть лучший способ сделать это.

Ответы [ 8 ]

10 голосов
/ 11 августа 2010

Нельзя использовать язык на стороне сервера (PHP) для управления поведением на стороне клиента (форсировать новое окно браузера для гиперссылки).

5 голосов
/ 17 августа 2010

Codeigniter имеет функцию, которая может делать то, что вы хотите

anchor_popup ()

Почти идентична функции anchor () за исключением того, что она открывает URL в новом окне.Вы можете указать атрибуты окна JavaScript в третьем параметре, чтобы управлять открытием окна.Если третий параметр не установлен, он просто откроет новое окно с вашими настройками браузера.Вот пример с атрибутами

В помощнике по URL

4 голосов
/ 11 августа 2010

Поскольку вы используете codeigniter, вы можете воспользоваться библиотекой помощника URL. На самом деле это просто образует HTML.

Документы: http://codeigniter.com/user_guide/helpers/url_helper.html

Вы, вероятно, должны автоматически загрузить помощника по URL в config / autoload.php или просто использовать

 $this->load->helper('url');


 echo anchor('http://your.link.com/whatever', 'title="My News"', array('target' => '_blank', 'class' => 'new_window'));
3 голосов
/ 02 мая 2013

вы можете использовать чистый html или codeigniter url helper, как показано ниже ......

  1. открыть ссылку в html way ..

  2. с использованием php Codeigniter, чтобы открыть в новую вкладку

  3. с использованием php Codeigniter, чтобы открыть в новом окне

$ attribute = { 'width' => '800', 'height' => '600', 'scrollbars' => 'yes', 'status' => 'yes', 'resizable' => 'yes' }


1. <a href="http://www.google.com" target="_blank">Google</a>

2. <?php echo anchor(prep_url('www.google.com'), 'Google', 'target="_blank"'); ?>

3. <?php echo anchor_popup(prep_url('www.google.com'), 'Google', '$attributes'); ?>
1 голос
/ 08 июня 2016

Я знаю, что это действительно старая запись, но недавно я просто искал именно эту вещь.

Codeigniter имеет функцию, очень похожую на anchor(), которая называется anchor_popup(), которая открывает цель в новом окне.

http://www.codeigniter.com/user_guide/helpers/url_helper.html?highlight=anchor_popup#anchor_popup

1 голос
/ 28 марта 2011

Вы можете сделать это в «якоре», который приводит посетителей к функции контроллера, которая выполняет перенаправление.

Пример:

Имеется ввиду: <br/><br/> anchor('news/external_link/'.$link['id'], <strong>'target="_blank"'</strong>);

В контроллере "новости" у вас есть: <br/><br/> function external_link($id)<br/> {<br/> $url = $this->model->urls_model->get_url($id);</p> <pre><code> redirect(.$url); }

В этом примере «target blank» заставляет URL открыться в новой вкладке. Вы можете указать новое окно вместо этого, если хотите. Я надеюсь, что это поможет

1 голос
/ 11 августа 2010

Что вы можете сделать, это повторить, в php, html для перенаправления, вот и все, что я могу придумать, вы должны использовать какой-то другой язык программирования.

1 голос
/ 11 августа 2010

Это не PHP, а HTML, который добьется цели:

<?php
echo "<a href=\"some link here\" target=\"_blank\">";
?>

или просто вне блоков php:

<a href="some link here" target="_blank">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...