You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CodeIgniter 4控制器中让PHP页面在新标签页打开?

在CodeIgniter 4控制器中实现页面在新标签页打开的方法

你当前的写法无效,因为CodeIgniter 4的view()函数第三个参数是视图的配置选项(如缓存时间、调试模式等),并不包含target参数,所以设置array('target' => '_blank')不会起到控制新标签页的作用。

正确的实现方式:

  • 前端触发(推荐):控制新标签页打开的逻辑应该放在前端触发跳转的元素上,比如链接或按钮:

    <!-- 链接方式 -->
    <a href="<?= site_url('你的控制器/方法') ?>" target="_blank">打开简历页面</a>
    
    <!-- 表单提交方式 -->
    <form action="<?= site_url('你的控制器/方法') ?>" method="get" target="_blank">
        <!-- 表单内容 -->
        <button type="submit">提交并在新标签页打开</button>
    </form>
    

    这种方式不会被浏览器拦截,是最稳妥的方案。

  • 控制器端处理(不推荐,可能被拦截):如果必须在控制器中实现,可以通过输出JavaScript代码来唤起新标签页:

    // 先渲染视图内容
    $viewContent = view('/pdfrepo/resume-page-pdf', $data);
    // 输出JS打开新标签页
    echo '<script>window.open("data:text/html;charset=utf-8,' . rawurlencode($viewContent) . '", "_blank");</script>';
    return;
    

    注意:这种方式大概率会被浏览器的弹出窗口拦截器阻止,用户需要手动允许才能生效。

内容的提问来源于stack exchange,提问作者Shubair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:57:19