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

如何修复新浏览器中点击重定向链接无响应仅显示Redirecting的问题

问题根源

你现有代码存在环境兼容问题、多处语法/拼写错误,导致Chrome中JS执行抛出异常中断,页面无响应:

  • ActiveXObject是IE独有的API,Chrome/Edge等现代浏览器完全不支持,在Chrome中执行这段代码会直接抛出未定义错误,阻塞后续所有JS逻辑
  • 存在多处拼写错误:AciveXObject少了字母t(正确为ActiveXObject)、varshell缺少变量名空格(正确为var shell)、setTimeot少了字母i(正确为setTimeout)、行尾分号误写为冒号、h1标签错误放在<head>节点内
  • 未定义pageRedirect函数,setTimeout调用的目标方法不存在
  • 未做浏览器类型判断,所有浏览器都会尝试执行IE专属的ActiveX逻辑

修复方案

调整逻辑:仅在IE浏览器下执行唤起Chrome的逻辑,其他现代浏览器直接跳转目标地址即可,修正后的完整代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>Redirecting</title>
</head>
<body>
<h1>Browser Redirect</h1>
<script type="text/javascript">
// 判断是否为IE浏览器
function isIE() {
  return window.ActiveXObject !== undefined || "ActiveXObject" in window;
}

function pageRedirect() {
  var targetUrl = "你要跳转的Chrome目标链接";
  var ieOldUrl = "IE下要跳转的旧版页面链接";
  if (isIE()) {
    try {
      // IE下唤起Chrome打开目标链接
      var shell = new ActiveXObject("WScript.Shell");
      shell.run('chrome "' + targetUrl + '"');
      // IE本身跳转到旧页面
      window.location.replace(ieOldUrl);
    } catch (e) {
      // 如果用户IE禁用了ActiveX,提示用户手动打开Chrome
      document.body.append("请使用Chrome浏览器访问本站点");
    }
  } else {
    // 非IE浏览器直接跳转到目标地址
    window.location.href = targetUrl;
  }
}

setTimeout(pageRedirect, 3000);
</script>
</body>
</html>

额外注意事项

  • IE浏览器的安全配置默认会禁用ActiveX控件,部署后需要用户在IE的安全设置里允许ActiveX控件执行,否则唤起逻辑会失效
  • 如果是内网场景,可以搭配组策略配置IE的受信任站点权限,自动放行ActiveX调用,避免用户手动配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:36:06