【问题标题】:Window.Location Refreshes instead of RedirectsWindow.Location 刷新而不是重定向
【发布时间】:2012-11-09 22:23:53
【问题描述】:

我有一个JQUERY函数如下

this.getURL = function()
{
    var name = getName();
    alert("Menu.aspx?name"+name);
    //window.location = "Menu.aspx?name"+name;
}

当我提醒我尝试访问的 URL 时,它是正确的。但是,当我在该字符串上调用 window.location 时,页面只是刷新而不去任何地方。

我在使用 window.location 的地方有类似的代码,它可以工作。我在浏览器中输入了网址,它也可以正常工作。

在最坏的情况下(即使 URL 错误),我希望它只会将我重定向到某个 URL。但是,除了刷新当前页面,我无法让它做任何事情。

另外澄清一下,调用这个函数的页面不是Menu.aspx

提前致谢。

【问题讨论】:

  • 您发布的代码是正确的。问题出在其他地方。
  • 检查控制台错误,window.location 的工作方式与您输入的完全一样
  • @ScottSelby 没有控制台错误
  • @Snuffleupagus 我试过firefox和chrome,同样的问题
  • 您当前的位置是以文件扩展名结尾还是仅以路径结尾?导航到here 并尝试使用相对路径设置 window.location - 它只是刷新页面。如果我转到以文件扩展名结尾的页面,相对路径似乎可以正常工作。

标签: javascript jquery asp.net


【解决方案1】:

如果您使用的是相对路径,请尝试设置window.location.pathname,否则设置window.location.href 以获得完整路径。

你也可以试试self.location.href

【讨论】:

    【解决方案2】:

    根据我的经验,很难让这样的重定向正常工作。我不得不使用window.location.replace(<url>)。如果你只是改变一个锚标签,那就更难了。您必须执行以下操作才能使其在所有浏览器中工作:

    window.location.replace(<url>);
    window.location=<url>;
    window.open(<url>,'_self');
    window.location.reload();
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 2012-07-07
      • 2015-03-11
      • 2022-01-14
      • 1970-01-01
      • 2020-11-13
      • 2011-12-14
      • 2016-10-05
      • 2019-03-10
      相关资源
      最近更新 更多