在Javascript中获取网站根目录

时间:2011-12-23 20:54:08

标签: javascript asp.net-mvc path

说我正在开发一个website.com。我需要动态获取root(website.com)(用于开发和生产)。有没有办法在JS中做到这一点?

我在服务器上使用asp.net mvc 3.

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

请参阅:How to extract the hostname portion of a URL in JavaScript

从链接引用:

  

您可以连接位置协议和主机:   var root = location.protocol +'//'+ location.host;   对于网址,请说“https://stackoverflow.com/questions”,它会返回“http://stackoverflow.com

答案 2 :(得分:1)

我创建了一个实现root的函数:

function root() {
        var scripts = document.getElementsByTagName( 'script' ),
            script = scripts[scripts.length - 1],
            path = script.getAttribute( 'src' ).split( '/' ),
            pathname = location.pathname.split( '/' ),
            notSame = false,
            same = 0;

        for ( var i in path ) {
            if ( !notSame ) {
                if ( path[i] == pathname[i] ) {
                    same++;
                } else {
                    notSame = true;
                }
            }
        }
        return location.origin + pathname.slice( 0, same ).join( '/' );
    }
加载js文件时,

调用此函数一次 为了使它工作,你必须把它包含为js文件。

用法:

var basepath = root();

以下是一些例子:

location.host: 'http://test.com'
location.path: '/myapp/controller/action/id'

这将导致:

http://test.com/myapp