如何使用jquery或javascript获取基本URL?

 大学城贝岗彩虹屋屋公寓 发布于 2022-12-29 11:00

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

基本路径可以是以下任何示例:

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

example也可能改变.

9 个回答
  • 这是一个非常老的问题,但这是我个人使用的方法...

    获取标准/基本URL

    正如许多人已经指出的那样,这适用于大多数情况。

    var url = window.location.origin;
    


    获取绝对基本URL

    但是,此简单方法可用于剥离任何端口号。

    var url = "http://" + location.host.split(":")[0];
    


    设置基本URL

    另外,基本URL可以在全局范围内重新定义。

    document.head.innerHTML = document.head.innerHTML + "<base href='" + url + "' />";
    

    2022-12-29 11:01 回答
  • 这是javascript无法实现的,因为这是服务器端属性.客户端上的Javascript无法知道joomla的安装位置.最好的选择是以某种方式包含$this->baseurl页面javascript 的值,然后使用此值(phpBaseUrl).

    然后,您可以像这样构建网址:

    var loc = window.location;
    var baseUrl = loc.protocol + "//" + loc.hostname + (loc.port? ":"+loc.port : "") + "/" + phpBaseUrl;
    

    2022-12-29 11:01 回答
  • 这将获得基本网址

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

    2022-12-29 11:01 回答
  • 在jQuery中获取基本URL的最简单方法

    window.location.origin
    

    2022-12-29 11:02 回答
  • 我在几个Joomla项目中遇到了这种需求.我发现解决的最简单方法是在模板中添加一个隐藏的输入字段:

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

    当我需要JavaScript中的值时:

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

    不像使用纯JavaScript那样花哨,但很简单并完成工作.

    2022-12-29 11:02 回答
  • 这个会帮你...

    var getUrl = window.location;
    var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
    

    2022-12-29 11:02 回答
  • var getUrl = window.location;
    var baseurl = getUrl.origin; //or
    var baseurl =  getUrl.origin + '/' +getUrl.pathname.split('/')[1]; 
    

    但是你不能说CodeIgniter(或php joomla)的baseurl()将返回相同的值,因为它可以更改这些框架的.htaccess文件中的baseurl.

    例如 :

    如果你在localhost中有这样的.htaccess文件:

    RewriteEngine on
    RewriteBase /CodeIgniter/
    RewriteCond $1 !^(index.php|resources|robots.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    

    $ this-> baseurl()将返回http:// localhost/CodeIgniter /

    2022-12-29 11:02 回答
  • 我觉得它对你没问题

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

    2022-12-29 11:02 回答
  • 前段时间有同样的问题,我的问题是,我只需要基本URL。这里有很多详细的选项,但是要解决这个问题,只需使用window.location对象。实际上是在浏览器控制台中键入此内容,然后按Enter键以在那里选择您的选项。对我来说,这很简单:

    window.location.origin
    

    2022-12-29 11:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有