我有一个脚本从网站的页面获取网址。像这样:
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/
有谁知道如何正确地做到这一点?
答案 0 :(得分:1)
url2 = url.split("/");
if((url2[0]==="http:")&&(window.location.href.split("/")[0]==="https:")){
url2[0] = "https:";
url = url2.join("/");
}