javascript位置适用于localhost而不是服务器

时间:2016-03-11 05:26:00

标签: javascript server location localhost assign

我有这段代码:

$('.contentBox').click(redirect);

function redirect () {
    var pathname = window.location.pathname
    location.assign(pathname.replace('index.html', $(this).find('a').attr('href')));
    return false;
}

在localhost上可以正常工作,但在服务器上它只刷新主页面。它只有在我实际访问我的菜单上的另一个页面时才有效,然后返回到我的页面,其功能是什么......给出了什么?

1 个答案:

答案 0 :(得分:0)

首先,您所做的并不是重定向用户的最佳方式。直接使用href。

现在来看你的代码。 只要路径名不包含index.html,它就会一直刷新,你分配给 location.assign()的是:

pathname.replace('index.html', $(this).find('a').attr('href'))

如果pathname不包含index.html,它将返回路径名本身,这是您的原始路径。因此,您会看到页面刷新。

尝试添加console.log(pathname)进行验证。

     $('.contentBox').click(redirect);

    function redirect () {
        var pathname = window.location.pathname
        console.log(pathname)
       if(pathname.indexOf('index.html') > -1){
          location.assign(pathname.replace('index.html', $(this).find('a').attr('href')));
          return false;
       }
    }