2016-09-30 180 views
1

使用Joomla創建我的網站。讓說我的網站位於在javascript中獲取網站根網址

https://domain.com/directory/siteName

我想呈現在我的網站任何頁面上的JavaScript這條路。問題是,經過內部的子菜單和網站的不同設置,路徑來像these-

  1. https://domain.com/directory/siteName/anyMenu/index.php

  2. https://domain.com/directory/siteName/index.php

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

  4. 任何一個https://domain.com/directory/siteName/anyMenu

  5. https://domain.com/directory/siteName/anyMenu.html

我已經嘗試了一些解決方案,喜歡 -

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

它截斷最後一個節點的index.php情況1,也

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

做的一樣。那麼有沒有什麼方法可以使用javascript來獲取網站所在的確切地址?此外,對於任何站點,結果必須是通用的,就好像它應用於任何擴展中,然後該擴展可以安裝在任何具有任何級別的目錄結構的站點中。

我需要這個,因爲我正在使用內部註冊另一個js文件的js文件。因此,註冊js的路徑必須在第一個js

回答

1

您可以使用Joomla的JURI::base()函數。記住它是php。所以你可以這樣做:

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

你現在可以在你的JS腳本中使用base變量。請記住在上面的聲明之後將其添加到文檔中。