在joomla php中,我可以使用$this->baseurl来获得基本路径,但我想在jquery中获得基本路径。
基本路径可以是以下示例中的任意一个:
http://www.example.com/
http://localhost/example
http://www.example.com/sub/example
例子也可能改变。
在joomla php中,我可以使用$this->baseurl来获得基本路径,但我想在jquery中获得基本路径。
基本路径可以是以下示例中的任意一个:
http://www.example.com/
http://localhost/example
http://www.example.com/sub/example
例子也可能改变。
当前回答
这是一个非常古老的问题,但以下是我个人使用的方法……
获取标准/基础URL
正如许多人已经指出的,这适用于大多数情况。
var url = window.location.origin;
获取绝对基础URL
但是,这种简单的方法可以用来去掉任何端口号。
var url = "http://" + location.host.split(":")[0];
编辑:为了解决Jason Rice提出的问题,可以使用以下方法自动插入正确的协议类型…
var url = window.location.protocol + "//" + location.host.split(":")[0];
设置基础URL
还有一个好处——基URL可以全局重新定义。
document.head.innerHTML = document.head.innerHTML + "<base href='" + url + "' />";
其他回答
把它放在你的标题中,这样当你需要它的时候就可以使用了。
var base_url = "<?php echo base_url();?>";
您将得到http://localhost:81/your-path-file或http://localhost/your-path-file。
window.location.origin+"/"+window.location.pathname.split('/')[1]+"/"+page+"/"+page+"_list.jsp"
几乎和Jenish的答案一样,但更短一点。
这里有一些也适用于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 getUrl = window.location;
var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];