PHP - 在新窗口中打开一个链接?

时间:2010-08-10 21:12:11

标签: php codeigniter

很抱歉,如果这显然是明显的,但我已经用Google搜索了这一点,我认真找不到任何只支持PHP的方法。

没有使用HTML或Javascript - 仅限纯PHP(来自CodeIgniter网站中的Controller文件) - 如何使用我指定的链接打开浏览器窗口?

有可能吗?

谢谢!

杰克

编辑:似乎有些人误解了我的意思,我为没有说清楚而道歉。我知道使用PHP,您可以设置header("Location: http://site.com")以使浏览器加载新窗口;我想知道是否可以发送标题说“在新窗口中打开Location”。

编辑2:以阐明我想要做的事情:用户可以向我的网站提交内容。在点击“提交”之前,他们可以选择(通过复选框)推文。如果选中该复选框,则在将所有内容插入数据库等之后,将使用URL http://twitter.com/home?status=Hello%20World或推文所说的任何内容加载新窗口/选项卡。用户将选择这样做,所以我不是“做一些我不应该做的事”。事后我明白,可能有更好的方法来做到这一点。

8 个答案:

答案 0 :(得分:10)

您无法使用服务器端语言(PHP)来控制客户端行为(强制使用新的浏览器窗口来显示超链接)。

答案 1 :(得分:5)

Codeigniter有一个可以做你想要的功能

anchor_popup()

与anchor()函数几乎相同,只是它在新窗口中打开URL。您可以在第三个参数中指定JavaScript窗口属性,以控制窗口的打开方式。如果未设置第三个参数,则只需使用您自己的浏览器设置打开一个新窗口。以下是属性

的示例

在URL帮助程序

答案 2 :(得分:4)

由于您使用的是codeigniter,因此您可以利用URL帮助程序库。真的,这只是形成了html。

文档:http://codeigniter.com/user_guide/helpers/url_helper.html

你应该在config / autoload.php中自动加载url helper或者只使用

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


 echo anchor('http://your.link.com/whatever', 'title="My News"', array('target' => '_blank', 'class' => 'new_window'));

答案 3 :(得分:3)

您可以使用纯html或codeigniter url helper,如下所示......

  1. html 的方式打开一个链接..

  2. 使用php Codeigniter,在新标签中打开

  3. 使用php Codeigniter,在新窗口中打开

  4. $ attributes = { 'width'=> '800','height'=> '600','scrollbars'=> '是','status'=> '是','resizable'=> '是' }


    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'); ?>
    

答案 4 :(得分:1)

不是PHP,而是HTML可以解决这个问题:

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

或只是在php块之外:

<a href="some link here" target="_blank">

答案 5 :(得分:1)

你可以做的是在php中回显重定向的html,这就是我能想到的,你必须使用其他一些编程语言。

答案 6 :(得分:1)

您可以在视图中完成此操作,在“锚点”中将访问者带到执行重定向的控制器功能。

示例:

在视图中你有:  

  anchor('news/external_link/'.$link['id'], 'target="_blank"');

在“新闻”控制器中你有:  

  function external_link($id)
  {
     $url = $this->model->urls_model->get_url($id);

      redirect(.$url); 
 } 

redirect(.$url); }

在此示例中,“目标空白”强制网址在新标签中打开。如果需要,您可以指定新窗口。我希望这有帮助

答案 7 :(得分:1)

我知道这是一个非常古老的帖子,但我最近只是搜索这个确切的事情。

Codeigniter 的功能与名为anchor()的{​​{1}}非常相似,可在新窗口中打开目标。

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