3

如果用户正在访问我网站的根 url,我想运行一个 js 脚本。我正在使用这段代码:

<script type="text/javascript">
    if(location.pathname == "/") {
        window.open ('#107','_self',false);
    }
</script>

但是http://example.com/?foo=bar#hash也会运行脚本,因为路径名不包括查询字符串和位置哈希。

它目前的行为如下:

http://example/                  Root
              /?querystring      Root
              /#hash             Root
              /page              Not root

我希望它表现得像这样:

http://example/                  Root
              /?querystring      Not root
              /#hash             Not root
              /page              Not root

有什么建议么?谢谢。

4

3 回答 3

4

window.location.href改为使用

于 2012-08-27T11:00:39.317 回答
3

您可以连接路径名、location.search 和 location.hash。

var fullPath = location.pathname + location.search + location.hash;
if(fullPath == "/") { /* whatever */ }
于 2012-08-27T11:02:51.787 回答
2

您可以测试所有三个组件:

<script type="text/javascript">
    if(location.pathname == "/" && 
        location.hash.length <= 1 && 
        location.search.length <= 1) {
        window.open ('#107','_self',false);
    }
</script>
于 2012-08-27T11:45:16.407 回答