替换 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&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 深度链接 target_url 参数缺少 iOS
Facebook Graph API Group Feed没有显示v2.3之后的帖子
使用ShareFile FTP Link的Facebook商品Feed计划 - 卷曲错误56
使用 AdWords 脚本,如何将 Merchant Center 中的 Feed 替换为 Google Drive 中的 .txt 文件?