Javascript 如何使用网站url查找文件夹
我的网站上有UpFiles文件夹 我想在下面的代码中定义struploadurl 当我在localhost上运行这个网站时,它工作得很好 但当我在不同的服务器上部署我的网站时,它将不起作用,所以我在代码中使用了“window.location.href”Javascript 如何使用网站url查找文件夹,javascript,Javascript,我的网站上有UpFiles文件夹 我想在下面的代码中定义struploadurl 当我在localhost上运行这个网站时,它工作得很好 但当我在不同的服务器上部署我的网站时,它将不起作用,所以我在代码中使用了“window.location.href” function Initialisation() { // Want path same as below like url. // var struploadurl = "http://localhost/MyProje
function Initialisation() {
// Want path same as below like url.
// var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";
// where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname
var url = window.location.href;
var arr = url.split("/");
var result = arr[0] + "//" + arr[2] + "//" + arr[3];
var strPath = result + "/UpFiles/uploadsave.aspx";
alert(strPath);
}
问题是,当我使用这个端口网站,所以它不会工作。我想要一个通用的解决方案,这样当我的网站没有端口或也使用端口部署时,我就可以得到struploadurl
例如,当我使用部署我的站点时“htp://Servrname/MyProject“那么上面的代码就可以工作了
当我使用“”部署我的站点时htps://ehost.test.com:446/“那么上述代码将无法工作。使用windows.location对象。它具有标识主机和端口所需的所有属性,而不是尝试手动解析url字符串
host : localhost:800"
hostname : "localhost"
href : "http://localhost:800/test/"
pathname : "/test/"
port :"800"
protocol : "http:"
search : ""
试试这个:
function Initialisation() {
// Want path same as below like url.
// var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";
// where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname
var url = window.location.href;
var strPath = "/UpFiles/uploadsave.aspx";
var host = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');;
var relativePath = url.substr(host.length+1,url.length - host.length-1);
var rootFolder = relativePath.substr(0,relativePath.indexOf("/"));
result = host + "/" + rootFolder + strPath;
alert(rootFolder);
alert(relativePath);
alert(result);
}
function Initialisation() {
// Want path same as below like url.
// var struploadurl = "http://localhost/MyProject/UpFiles/uploadsave.aspx";
// where arr[0] = http , arr[2] =Server Name and arr[3] =Projectname
var url = window.location.href;
var strPath = "/UpFiles/uploadsave.aspx";
var host = location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');;
var relativePath = url.substr(host.length+1,url.length - host.length-1);
var rootFolder = relativePath.substr(0,relativePath.indexOf("/"));
result = host + "/" + rootFolder + strPath;
alert(rootFolder);
alert(relativePath);
alert(result);
}