从Facebook Feed替换相对URL

时间:2014-12-03 18:27:15

标签: javascript rss

我有一个页面正在拉入Facebook RSS提要。不幸的是,Feed包含相对路径和绝对路径。我想让用户能够点击任何给定的故事并在Facebook上阅读。其中一个生成的链接是相对的,所以应该是:

http://www.facebook.com/ShannonBaumGraphics/photos/a.253345034707618.56302.102938249748298/805807439461372/?type=1

转换为

http://www.shannonbaumsigns.com/ShannonBaumGraphics/photos/a.253345034707618.56302.102938249748298/805807439461372/?type=1&relevant_count=1

我尝试了以下内容:

<script type="text/javascript"> 
window.onload = function() { 
  var aEls = document.getElementsByTagName('a'); 
  for (var i = 0, aEl; aEl = aEls[i]; i++) { 
    aEl.href = aEl.href.replace("/ShannonBaumGraphics/photos/","http://www.facebook.com/ShannonBaumGraphics/photos/");  
  } 
}; 
</script>

但结束了

http://www.shannonbaumsigns.comhttp//www.facebook.com/ShannonBaumGraphics/photos/a.253345034707618.56302.102938249748298/805807439461372/?type=1&relevant_count=1

我知道这很简单,但是我对Javascript没有足够的力量来确定问题。

3 个答案:

答案 0 :(得分:0)

aaEl.href = aEl.href.replace('http://www.shannonbaumsigns.com/ShannonBaumGraphics/photos/','http://www.facebook.com/ShannonBaumGraphics/photos/');  

// http://www.facebook.com/ShannonBaumGraphics/photos/a.253345034707618.56302.102938249748298/805807439461372/?type=1&relevant_count=1

答案 1 :(得分:0)

您可以使用以下命令分配新的url.try:

 aEl.href ="http://www.facebook.com/ShannonBaumGraphics/photos/"; 

答案 2 :(得分:0)

感谢您的帮助。它指出了我正确的方向。部分问题是该网站使用多个域名(我应该提到)。所以我添加了一些PHP来获取域名以搜索地址,然后将其替换为Facebook链接。

现在看来是这样的:

<script type="text/javascript"> 
window.onload = function() { 
  var aEls = document.getElementsByTagName('a'); 
  for (var i = 0, aEl; aEl = aEls[i]; i++) { 
    aEl.href = aEl.href.replace("<?php echo $_SERVER['SERVER_NAME']; ?>/ShannonBaumGraphics/photos/","www.facebook.com/ShannonBaumGraphics/photos/");  
  } 
}; 
</script>

也许有更好的方法,但这似乎有效。