为什么Blogger网址相关帖子未定义

时间:2017-10-15 09:43:54

标签: javascript

我使用Javascript为我的Blogger模板上的相关帖子创建了一个函数,

这是我的代码:

function toHttps(link) { 
  var protocol=link.replace(/\:/g,''); 
  if(protocol=='http') { 
    var url=link.replace('http','https'); 
    return link.replace(url); 
  } 
}

如果我原来的网址是 https://dpawoncatering.blogspot.com/2008/08/nasi-box-murah.html

为什么结果是这样的? https://dpawoncatering.blogspot.com/2008/08/undefined

2 个答案:

答案 0 :(得分:2)

Naren Murali的回答是正确的。我只想添加一种不同的做法" protocol"使用javascript自己的URL解析器进行交换,这可能对其他人有用。

您可以实例化a元素并使用其href属性来解析您的网址,然后您可以访问和更改protocol的{​​{1}}属性并检索结果网址:

href

答案 1 :(得分:1)

由于URL已包含https,因此它不会进入if条件,因此不会返回任何内容因此我们未定义,请检查我更正的功能。如果您有任何问题,请告诉我们!

function toHttps(link) { 
  if(link.indexOf('http://') > -1){ 
    var url=link.replace('http','https'); 
    return url; 
  } 
  return link
}
console.log(toHttps('http://dpawoncatering.blogspot.com/2008/08/nasi-box-murah.html'))
console.log(toHttps('https://dpawoncatering.blogspot.com/2008/08/nasi-box-murah.html'))