【问题标题】:Javascript/jQuery get root url of websiteJavascript/jQuery 获取网站的根 url
【发布时间】:2014-05-02 10:25:52
【问题描述】:

我有网站: "http://www.example.com/folder1/mywebsite/subfolder/page.html"

网站的根是:“http://www.example.com/folder1/mywebsite

我想动态获取“mywebsite”的根网址。 如果我将此站点发布到其他地方,则无需更改脚本。

例如:“http://www.example.com/otherFolder/test/myChangedWebsite/subfolder/page.html

我会得到: "http://www.example.com/otherFolder/test/myChangedWebsite"

我在“page.html”javascript中试过: var url = window.location.protocol + "//" + window.location.host + '/otherPage.html

但这只给了我“http://www.example.com/otherPage.html”。

我也知道 location.origin,但并非所有浏览器都支持,因为我在链接上发现:http://www.w3schools.com/jsref/prop_loc_origin.asp

如果可以用 jQuery 来做,那就太好了。

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    这是一个与上面 Hawk 的帖子相同的函数,只是要短得多:

    function getBaseUrl() {
        var re = new RegExp(/^.*\//);
        return re.exec(window.location.href);
    }
    

    详情请看:Javascript: Get base URL or root URL

    【讨论】:

    • 在MVC应用程序中,它给出http://locahhost/sitename/controllername而不是http://locahhost/sitename
    【解决方案2】:

    使用以下 javascript 获取您的 url 的根:

    window.location.origin
    

    更多详情:

     [https://www.codegrepper.com/code-examples/javascript/javascript+get+root+url][1]
    

    【讨论】:

    • 这应该被接受的答案
    【解决方案3】:

    略短:

    function getBaseUrl() {
        return window.location.href.match(/^.*\//);
    }
    

    【讨论】:

      【解决方案4】:

      如果您的位置在mywebsite/subfolder/page.html" 之后是固定的

      那就用这个

      location.href.split("mywebsite")[0]
      

      【讨论】:

      • 为此,我需要每次指定“mywebsite”的名称 - @Hawk 的示例解决了我的问题,但谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      相关资源
      最近更新 更多