相对网址的问题

时间:2014-06-16 13:57:49

标签: jquery

我有一个脚本从网站的页面获取网址。像这样:

 var catHref = $(this).closest('[id]').children('a').attr('href');
//outcome is something like http://www.website.com/

之后我使用这个url来获取一些Json内容。像这样:

 var url = catHref;

  $.getJSON(url, function (json){     
      ... etc ...
  }

问题是这个url不是相对的,所以它始终是http://。 Firefox具有非常严格的安全性。因此,当我在https://或安全页面上请求Json时,我总是会收到错误。在Chrome和IE中一切正常。 所以我尝试做的是将此网址转换为相对网址。像这样:

 var url = '//' + catHref.replace(/^https?:\/\/[a-z_\-\.]+?\.[a-z]{2,5}\//i, '');

不幸的是,这不起作用。它给出了一个网址:

https://http//www.website.com/

有谁知道如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

url2 = url.split("/");
if((url2[0]==="http:")&&(window.location.href.split("/")[0]==="https:")){
    url2[0] = "https:";
    url = url2.join("/");
}

小提琴:http://jsfiddle.net/Sj4td/