我正在尝试(并且失败)使用以下方法从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"
任何人都可以指出我正确的方向或至少告诉我为什么我会得到不同的结果取决于它的执行方式?
答案 0 :(得分:1)
更好的方法:
var foo = 'sub2.sud1.domain.com';
foo.replace(/^[^\.]+\./,"");
你的代码中的错误是没有设置长度,我相信你错过了什么。