如何将PHP的GET参数id传入外部JS文件并修正跨域跳转逻辑?
问题解决方法
你的custom.js代码存在语法错误和逻辑冗余,以下是具体修正方案:
错误点说明
- 字符串拼接语法错误:
'https://' + id '.example2.com'与'https://' + id '.example2.com'中,变量id和后续字符串之间缺少+连接符,会直接导致JS执行报错。 - 无效的replace参数:
'dir/' + id ''多了冗余的空字符串,且原页面路径是dir/index.php?id=name,这个替换目标本身不存在,逻辑不成立。
修正后的代码
如果需求是屏幕宽度小于991时,直接跳转到https://{id}.example2.com,可以简化逻辑:
if (screenWidth < 991) { window.location.href = 'https://' + id + '.example2.com'; }
如果需要保留类似原代码的页面类型判断逻辑(比如避免xhtml页面跳转),修正语法后的代码如下:
if (screenWidth < 991) { var targetUrl = 'https://' + id + '.example2.com'; if (targetUrl.indexOf('xhtml') === -1) { window.location.href = targetUrl; } }
额外优化建议
PHP输出变量到JS时,建议用json_encode转义,避免特殊字符(如引号)导致的JS语法错误或XSS风险:
<script type="text/javascript">var id = <?= json_encode($id) ?>;</script>
内容的提问来源于stack exchange,提问作者userman
相关产品推荐
相关产品推荐

