0
我需要在Javascript(而不是當前URL)中找到請求的URL,以識別加載了兩個顯示的網站中的哪一個。在Javascript中獲取請求的URL
場景:我目前正在爲Icinga Web 2構建一個模塊,它可以選擇並排顯示兩個幀(兩個單獨的.phtml文件)。當兩個這些幀的是開放的,在瀏覽器中顯示的URL看起來如下:
http://host/icingaweb/mymodule/siteA#!/icingaweb/mymodule/siteB
您可以通過點擊一個按鈕,分別刷新單幀。在瀏覽器日誌(和Apache日誌),你可以看到,對於每個負載只是特定的頁面被請求:
// reloading siteA
GET http://host/icingaweb/mymodule/siteA
// reloading siteB
GET http://host/icingaweb/mymodule/siteB
我到底需要在Javascript這個單一的請求(至少是要求的網站)。
不幸的是,以下功能不起作用:
var pathname = window.location.pathname;
// returns (no matter which site is reloaded): "/icingaweb/mymodule/siteA"
var url = window.location.href;
// returns (no matter which site is reloaded): "http://host/icingaweb/mymodule/siteA#!/icingaweb/mymodule/siteB"
的Icinga網2全解析JavaScript內容到一個單一的文件,該文件是繼全局訪問(icinga.min.js)。自定義JavaScript必須放在module.js中。
module.js
(function(Icinga) {
var mymodule = function(module) {
/**
* The Icinga.Module instance (public/js/Icinga/module.js)
*/
this.module = module;
this.initialize();
this.module.icinga.logger.info('mymodule module loaded');
};
mymodule.prototype = {
initialize: function()
{
/**
* Tell Icinga about our event handlers, these are then
* automatically detached once Icinga is unloading
*/
this.module.on('rendered', this.showURLs);
},
showURLs: function(event)
{
var pathname = window.location.pathname;
// returns (no matter which site is reloaded): "/icingaweb/module/siteA"
var url = window.location.href;
// returns (no matter which site is reloaded): "http://host/icingaweb/module/siteA#!/icingaweb/module/siteB"
}
};
/**
* Register this module so that Icinga knows about it
*
* It's important that the identifier used is the same
* as the name of the module itself (case sensitive)
*/
Icinga.availableModules.mymodule = mymodule;
}(Icinga));
您是否嘗試過document.referrer? – Helio
@Helio'document.referrer'是你從哪裏來的背頁的網址。 – Jai
document.referrer返回一個空值。 – lumen