Nav*_*yar 117 javascript jquery
在joomla php中我可以$this->baseurl用来获取基本路径,但我想在jquery中获取基本路径.
基本路径可以是以下任何示例:
http://www.example.com/
http://localhost/example
http://www.example.com/sub/example
Run Code Online (Sandbox Code Playgroud)
该example也可能改变.
小智 153
这个会帮你...
var getUrl = window.location;
var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
Run Code Online (Sandbox Code Playgroud)
Har*_*ris 104
我觉得它对你没问题
var base_url = window.location.origin;
var host = window.location.host;
var pathArray = window.location.pathname.split( '/' );
Run Code Online (Sandbox Code Playgroud)
Zah*_*bar 26
这将获得基本网址
var baseurl = window.location.origin+window.location.pathname;
Run Code Online (Sandbox Code Playgroud)
小智 22
document.baseURI返回基本 URL 也尊重<base/>标签
https://developer.mozilla.org/en-US/docs/Web/API/Node/baseURI 中的值
Art*_* B. 13
这是javascript无法实现的,因为这是服务器端属性.客户端上的Javascript无法知道joomla的安装位置.最好的选择是以某种方式包含$this->baseurl页面javascript 的值,然后使用此值(phpBaseUrl).
然后,您可以像这样构建网址:
var loc = window.location;
var baseUrl = loc.protocol + "//" + loc.hostname + (loc.port? ":"+loc.port : "") + "/" + phpBaseUrl;
Run Code Online (Sandbox Code Playgroud)
Dus*_*ead 11
这是一个非常老的问题,但这是我个人使用的方法...
正如许多人已经指出的那样,这适用于大多数情况。
var url = window.location.origin;
Run Code Online (Sandbox Code Playgroud)
但是,此简单方法可用于剥离任何端口号。
var url = "http://" + location.host.split(":")[0];
Run Code Online (Sandbox Code Playgroud)
另外,基本URL可以在全局范围内重新定义。
document.head.innerHTML = document.head.innerHTML + "<base href='" + url + "' />";
Run Code Online (Sandbox Code Playgroud)
var getUrl = window.location;
var baseurl = getUrl.origin; //or
var baseurl = getUrl.origin + '/' +getUrl.pathname.split('/')[1];
Run Code Online (Sandbox Code Playgroud)
但是你不能说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]
Run Code Online (Sandbox Code Playgroud)
$ this-> baseurl()将返回http:// localhost/CodeIgniter /
前段时间有同样的问题,我的问题是,我只需要基本URL。这里有很多详细的选项,但是要解决这个问题,只需使用window.location对象。实际上是在浏览器控制台中键入此内容,然后按Enter键以在那里选择您的选项。对我来说,这很简单:
window.location.origin
Run Code Online (Sandbox Code Playgroud)
我在几个Joomla项目中遇到了这种需求.我发现解决的最简单方法是在模板中添加一个隐藏的输入字段:
<input type="hidden" id="baseurl" name="baseurl" value="<?php echo $this->baseurl; ?>" />
Run Code Online (Sandbox Code Playgroud)
当我需要JavaScript中的值时:
var baseurl = document.getElementById('baseurl').value;
Run Code Online (Sandbox Code Playgroud)
不像使用纯JavaScript那样花哨,但很简单并完成工作.
小智 5
您可以通过以下方式轻松获取:
var currentUrl = window.location.href;
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要原始 URL,请使用:
var originalUrl = window.location.origin;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220624 次 |
| 最近记录: |