在joomla php中,我可以使用$this->baseurl来获得基本路径,但我想在jquery中获得基本路径。

基本路径可以是以下示例中的任意一个:

http://www.example.com/
http://localhost/example
http://www.example.com/sub/example

例子也可能改变。


当前回答

拆分并加入URL:

const s = 'http://free-proxy.cz/en/abc'
console.log(s.split('/').slice(0,3).join('/'))

其他回答

这里有一些也适用于file:// url的快速方法。

我想出了这样一句话:

[((1!=location.href.split(location.href.split("/").pop())[0].length?location.href.split(location.href.split("/").pop())[0]:(location.protocol,location.protocol+"//" + location.host+"/"))).replace(location.protocol+"//"+location.protocol+"//"+location.protocol+"://")]

容易

$('<img src=>')[0].src

生成一个带有空src-name的img会迫使浏览器自己计算base-url,不管你是否有/index.html或其他什么。

我认为这对你很有用:

var base_url = window.location.origin;

var host = window.location.host;

var pathArray = window.location.pathname.split( '/' );

这将得到base url

var baseurl = window.location.origin+window.location.pathname;

我在几个Joomla项目中遇到过这种需求。我发现的最简单的方法是在模板中添加一个隐藏的输入字段:

<input type="hidden" id="baseurl" name="baseurl" value="<?php echo $this->baseurl; ?>" />

当我需要的值在JavaScript:

var baseurl = document.getElementById('baseurl').value;

不像使用纯JavaScript那样花哨,但很简单,可以完成工作。