[英]PHP - open a link, in a new window?
对不起,如果这很明显,但我已经用谷歌搜索了这个,我真的找不到任何只用 PHP 的方法来做到这一点。
不使用 HTML 或 Javascript - 仅纯 PHP(来自 CodeIgniter 站点中的控制器文件) - 如何使用我指定的链接打开浏览器窗口?
是否有可能?
谢谢!
编辑:似乎有些人误解了我的意思,我很抱歉没有说清楚。 我知道使用 PHP 你可以设置header("Location: http://example.com")
来让浏览器加载一个新窗口; 我想知道是否可以发送标题以说“在新窗口中打开Location
”。
编辑 2:澄清我想做什么:用户可以向我的网站提交一些内容。 在点击“提交”之前,他们可以选择(通过复选框)发布关于它的推文。 如果选中该复选框,则在将所有内容插入数据库等之后,会加载一个带有 URL http://twitter.com/home?status=Hello%20World
或推文将说的任何内容的新窗口/选项卡。 用户将选择这样做,所以我不会“做我不应该做的事情”。 不过,我事后明白,可能有更好的方法来做到这一点。
您不能使用服务器端语言 (PHP) 来控制客户端行为(强制使用新的浏览器窗口获取超链接)。
Codeigniter 有一个功能可以做你想做的
锚点弹出()
除了它在新窗口中打开 URL 之外,与 anchor() 函数几乎相同。 您可以在第三个参数中指定 JavaScript 窗口属性来控制窗口的打开方式。 如果未设置第三个参数,它将简单地使用您自己的浏览器设置打开一个新窗口。 这是一个带有属性的示例
在 URL 助手中
由于您使用的是 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'));
您可以使用纯 html 或 codeigniter url helper 如下......
以html方式打开链接..
使用 php Codeigniter,在新标签页中打开
使用 php Codeigniter,在新窗口中打开
$attributes = { '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'); ?>
不是 PHP 而是 HTML 可以解决问题:
<?php
echo "<a href=\"some link here\" target=\"_blank\">";
?>
或者只是在 php 块之外:
<a href="some link here" target="_blank">
你能做的是echo,在php中,重定向的html,这就是我能想到的,你必须使用其他一些编程语言。
我知道这是一个非常古老的帖子,但我最近只是在搜索这个确切的东西。
Codeigniter有一个与anchor()
非常相似的函数,称为anchor_popup()
,它在新窗口中打开目标。
http://www.codeigniter.com/user_guide/helpers/url_helper.html?highlight=anchor_popup#anchor_popup
您可以在视图中完成此操作,在将访问者带到执行重定向的控制器功能的“锚点”中。
例子:
鉴于您有:
anchor('news/external_link/'.$link['id'], 'target="_blank"' );
在“新闻”控制器中,您有:
function external_link($id)
{
$url = $this->model->urls_model->get_url($id);
redirect(.$url); }
在此示例中,“目标空白”强制 url 在新选项卡中打开。 如果需要,您可以指定新窗口。 我希望这有帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.