2014-12-03 46 views
0

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

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来查明问题。

回答

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 
+0

如果我这样做,它会替换页面上的所有链接到Facebook的链接,是吗?我只需要替换那些特定的链接。 – 2014-12-03 18:39:30

+0

然后追加'/ ShannonBaumGraphics/photos /'?看到更新的答案 – 2014-12-03 18:43:12

0

你可以简单地指定使用这种新url.try:

aEl.href ="http://www.facebook.com/ShannonBaumGraphics/photos/"; 
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> 

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