1

我有两个域:project1.comproject2.com. 后者包含一个子域作为login.project2.com. 我需要将用户重定向到这个地方,即login.project2.com根据他的输入从前者重定向。(不要问逻辑,或者我为什么这样做,只是因为我被要求这样做)。

我尝试了以下方法:

function redirectToPage() {
    if (someVar == someValue) {
        document.location = 'http://www.login.project2.com'; // does not work
        document.location = 'www.login.project2.com'; // does not work
        document.location = 'http://login.project2.com'; // does not work
        document.location = 'login.project2.com'; // inval

        //only of the above is left uncommented at a time
    }
}

但是,当我直接在地址栏中键入第四个时,它会将我带到所需的页面。我哪里错了?

4

1 回答 1

2
  1. document.location 已弃用,可能是只读的
  2. 如果您有另一个域,则也需要该协议。如果您将其保留在地址栏上,则由浏览器添加,而不是在脚本中。
  3. 将语句括在括号中是一种很好的做法,因此我为您添加了它们

这是使用 JavaScript 重定向的方法 - 我使用替换,因此旧地址在历史记录中被替换,因此后退按钮不会损坏

function redirectToPage() {
  if (someVar == someValue) {
    window.location.replace('http://login.project2.com'); 
  }
}
于 2013-03-13T17:17:45.957 回答