在Firefox中,此代码不起作用(隐藏链接):
var o = document.getElementById("LinkFBShareLink");
var fbURL = 'https://www.facebook.com/sharer/sharer.php?u=' + link + '&title=' + title;
o.setAttribute('href', fbURL);
而这段代码有效:
var o = document.getElementById("LinkFBShareLink");
var fbURL = 'https://www.facebook.com/sharer/sharer.phpu=' + link + '&title=' + title;
o.setAttribute('href', fbURL);
(第一个网址的差异为?
。)
该代码适用于Chrome。为什么不在Firefox?
答案 0 :(得分:2)
我可以看到您的代码存在两个问题,但我无法复制您描述的问题(尝试here)。
您没有正确编码字符串中的&
,但您将其用作HTML文本(属性的内容是HTML文本)。如果这是问题我会感到非常惊讶,但从技术上来说,这是错误的。
您不是URI编码link
和title
。 (或者至少,如果你是,那就没有显示。)
为了处理#1,我设置了href
属性而不是属性,并且我使用encodeURIComponentn
来处理第二:
var o = document.getElementById("LinkFBShareLink");
o.href = 'https://www.facebook.com/sharer/sharer.php?u=' +
encodeURIComponent(link) +
'&title=' + encodeURIComponent(title);