在javascript中获取站点根url

Get site root url in javascript

本文关键字:url 站点 获取 javascript      更新时间:2023-09-26

使用Joomla创建我的网站。假设我的网站位于

https://domain.com/directory/siteName

我想在我的网站上渲染的任何页面上的javascript得到这个路径。问题是,根据内部子菜单和网站的不同设置,路径会像这样-

    https://domain.com/directory/siteName/anyMenu/index.php
  1. https://domain.com/directory/siteName/index.php
  2. https://domain.com/directory/siteName/index.php?option=com_content& id = 9

  3. https://domain.com/directory/siteName/anyMenu
  4. https://domain.com/directory/siteName/anyMenu.html

我尝试了一些解决方案,如-

var re = new RegExp(/^.*'//);
alert(re.exec(window.location.href));

在case 1中截断最后一个节点为index.php,也是

var dummy = new Image;
dummy.src = '$';                 
alert(dummy.src.slice(0,-1));

做同样的事情。所以有没有办法得到确切的地址,网站是只使用javascript定位?此外,结果必须是通用的任何网站,如果它应用于任何扩展,那么该扩展可以安装在任何网站与任何级别的目录结构。

我需要这个,因为我使用的是内部注册另一个js文件的js文件。所以要注册的路径必须在first js

中给出

您可以使用Joomla的JURI::base()函数。记住这是php。你可以这样写:

$document = JFactory::getDocument();
$document->addScriptDeclaration('var base = '''.JURI::base().'''');

你现在可以在JS脚本中使用base变量。请记住将它添加到上述声明之后的文档中。