为什么这个客户端JS(JQuery,regex)在某些域上工作而在其他域上不工作?

时间:2014-11-16 13:51:50

标签: javascript jquery regex dns

这真是奇怪。我有一些纯粹的客户端JS在我的服务器上工作正常,但当我将网站移动到我的客户网站时停止工作。

<select class="langset">
    <option value="en" selected="selected">English</option>
    <option value="kr">한국어</option>
    option value="cn">中文</option>
</select>

这是我的JS:

$('.langset').change(function() { 
//handle nav between different languages
    console.log('changed');
    window.location.href = document.URL.replace(/\/\w\w\//, "/"+$(this).val()+"/");
});

这允许我在相应的页面之间移动,如:

http://clientname.mysite.net/en/somefolder/somepage.php?somearg=someval

http://clientname.mysite.net/kr/somefolder/somepage.php?somearg=someval

它在我的服务器上工作正常。在他们的服务器上,它适用于

http://www.clientname.net/en/somefolder/somepage.php?somearg=someval

但不适用于

http://clientname.net/en/somefolder/somepage.php?somearg=someval

奇怪的是,如果没有前缀的www主机名,更改事件甚至不会触发(我没有获得控制台日志)。

Verrrry疑惑不解。我责怪我的正则表达,但它看起来很好。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我的坏/愚蠢;他们的服务器没有响应,重新启动后我的正则表达式工作正常。 :(