使用JavaScript提取服务器路径是否可以跨浏览器安全?对于Joomla模板,我有许多JavaScript文件将通过SCRIPT标签包含;这些文件需要服务器路径,例如站点根目录。这是我发现的一些获取服务器路径的JS代码:

var hash = self.location.hash //       Sets or retrieves the subsection of the href property that follows the number sign (#).
var host = self.location.host   //    Sets or retrieves the hostname and port number of the location or URL.
var hostname = self.location.hostname //  Sets or retrieves the host name part of the location or URL.
var href = self.location.href     //  Sets or retrieves the entire URL as a string.
var pathname = self.location.pathname //  Sets or retrieves the path and file name associated with a URL.
var port = self.location.port     //  Sets or retrieves the port number associated with a URL.
var protocol = self.location.protocol //  Sets or retrieves the protocol portion of a URL.

alert('hash: ' + hash + '\n' +
   'host: ' + host + '\n' +
   'hostname: ' + hostname + '\n' +
   'href: ' + href + '\n' +
   'pathname: ' + pathname + '\n' +
   'port: ' + port + '\n' +
   'protocol: ' + protocol);


上面的JavaScript返回:

hash: #panel-1
host: localhost:8090
hostname: localhost
href: http://localhost:8090/joomla/#panel-1
pathname: /joomla/
port: 8090
protocol: http


Joomla网站将在许多浏览器,平台和设备上运行。上面的JS代码在这些情况下是否能很好地工作,还是使用PHP来获取服务器路径更好?谢谢。

最佳答案

使用PHP。您无法使用客户端脚本可靠地检索服务器路径:例如,在Apache中使用mod_rewrite可以更改URL与(本地)服务器路径相关的方式。

09-28 11:27