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

数组随机域名跳转失效?JS模板字符串使用错误排查

问题分析与解决方案

嘿,这个问题很常见!你出错的核心原因是混淆了JavaScript的字符串语法——你想用变量插值的方式把rand_domain的值嵌入到URL里,但用错了字符串类型。

为什么会出现这个问题?

在JavaScript中,${变量名}这种插值语法只有在模板字符串(用反引号`包裹的字符串)里才会被解析成变量的值。而你现在用的是普通双引号包裹的字符串,浏览器会把${rand_domain}当成普通的文本内容直接输出,自然就跳转到了带这个占位符的URL。

两种修复方案

方案1:使用模板字符串(推荐,ES6+)

把包裹URL的双引号换成反引号,这样插值语法就会生效:

var domainArray = ['google.com', 'yahoo.com', 'bing.com']; 
var rand_domain = domainArray[Math.floor(Math.random() * domainArray.length)]; 
window.location = `http://${rand_domain}/subfolder`;

方案2:使用字符串拼接(兼容旧环境)

如果需要兼容不支持ES6的老浏览器,可以用传统的字符串拼接方式,用+把变量和字符串片段连起来:

var domainArray = ['google.com', 'yahoo.com', 'bing.com']; 
var rand_domain = domainArray[Math.floor(Math.random() * domainArray.length)]; 
window.location = "http://" + rand_domain + "/subfolder";

随便选一种方案,你的随机跳转功能就能正常工作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:49:06