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

感谢页加载完成后自动在新标签打开PDF代码不生效如何修复

问题原因排查

你现有代码无法运行的核心问题有3个:

  1. JS语法错误:$(document).ready 闭合后多了一个多余的 },导致整个脚本直接失效
  2. PHP变量直接拼接进JS字符串存在语法隐患:如果URL包含单引号、特殊字符,会直接打断JS字符串结构,触发语法错误
  3. 缺少空值校验和浏览器弹窗拦截兼容逻辑

修复步骤

1. 先对PHP接收的参数做合法性过滤

避免无效链接和恶意跳转:

$floorplan = $_POST['cm-f-djuiyhkr'];
// 校验链接合法性,无效则赋值为空
$floorplan = filter_var($floorplan, FILTER_VALIDATE_URL) ? $floorplan : '';

2. 替换错误的JS代码

使用json_encode()处理PHP变量输出,自动适配JS字符串语法,同时删除多余语法字符、增加异常兼容:

<script>
$(document).ready(function(){
    window.setTimeout(function(){
        // 用json_encode自动转义特殊字符,不需要手动加引号
        var link = <?php echo json_encode($floorplan); ?>;
        if(link){
            var newTab = window.open(link, '_blank');
            // 兼容浏览器弹窗拦截场景
            if(!newTab){
                alert('浏览器拦截了平面图弹窗,请允许本站点弹出窗口,或手动访问链接查看:' + link);
            }
        }
    }, 5000);
});
</script>

额外优化建议

如果频繁出现弹窗拦截问题,可以把自动打开逻辑替换为用户主动触发:在感谢页加一个醒目的按钮,用户点击后再打开PDF,不会被浏览器拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:15:04