0

我正在尝试(并且失败)使用以下方法从 document.domain 中删除最顶层的子域:

document.domain.split(".").splice(1, length + 1).join(".")

虽然在域 sub2.sub1.example.com 上,但如果我将它放在脚本中但在控制台中,它只会不断返回“sub1”。我有点不知所措,因为它在链接的 js 文件和控制台之间的行为不同。

为了调试,我尝试将每个步骤写入控制台,输出如下:

console.log(document.domain); >> sub2.sub1.example.com
console.log(document.domain.split(".")); >> ["sub2", "sub1", "example", "com"]
console.log(document.domain.split(".").splice(1, length + 1)); >> ["sub1"]
console.log(document.domain.split(".").splice(1, length + 1).join(".")); >> sub1

但在 chrome 开发者控制台中,我得到:

document.domain.split(".").splice(1, length + 1).join(".") >> "sub1.example.com"

谁能指出我正确的方向,或者至少告诉我为什么我会根据其执行方式得到不同的结果?

4

1 回答 1

1

更好的方法:

var foo = 'sub2.sud1.domain.com';
foo.replace(/^[^\.]+\./,"");

您的代码中的错误是未设置长度,我相信您错过了一些东西。

于 2013-04-25T00:29:28.123 回答