替换 Facebook Feed 中的相对 URL

Posted

技术标签:

【中文标题】替换 Facebook Feed 中的相对 URL【英文标题】:Replace relative URL from Facebook Feed 【发布时间】:2014-12-03 18:27:15 【问题描述】:

我有一个页面正在拉入 Facebook RSS 提要。不幸的是,提要同时包含相对路径和绝对路径。我想让用户能够点击任何给定的故事并在 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&amp;relevant_count=1

我知道这很简单,但我的 Javascript 能力不够强,无法查明问题。

【问题讨论】:

【参考方案1】:

你可以简单地分配新的 url.try 使用这个:

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

【讨论】:

【参考方案2】:
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

【讨论】:

如果我这样做,它会将页面上的所有链接替换为指向 Facebook 的链接,是吗?我只需要替换那些特定的链接。 然后追加/ShannonBaumGraphics/photos/?查看更新的答案【参考方案3】:

感谢您的帮助。它为我指明了正确的方向。部分问题是该站点使用多个域名(我应该提到这一点)。于是我加了一些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>

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

【讨论】:

以上是关于替换 Facebook Feed 中的相对 URL的主要内容,如果未能解决你的问题,请参考以下文章

通过Facebook APP获得与计数一样的帖子

Facebook 深度链接 target_url 参数缺少 iOS

将所有相对 URL 替换为绝对 URL

Facebook Graph API Group Feed没有显示v2.3之后的帖子

使用ShareFile FTP Link的Facebook商品Feed计划 - 卷曲错误56

使用 AdWords 脚本,如何将 Merchant Center 中的 Feed 替换为 Google Drive 中的 .txt 文件?