【问题标题】:Sharing links with query strings与查询字符串共享链接
【发布时间】:2019-07-29 15:08:30
【问题描述】:

我正在尝试设置一个 LinkedIn 共享按钮,该按钮需要共享包含查询字符串的 URL。我尝试了对 URL 进行编码的各种组合,但 LinkedIn 通过删除以“=”开头的所有内容或通过共享带有“=”编码为“%3D”的链接来破坏每个选项

我应该如何让它发挥作用,还是 LinkedIn 不会解决这个问题?

我在这里设置了一个简单的演示:https://jsfiddle.net/09dopxm5/

为简洁起见,这是我尝试生成的 Javascript 链接...

var original_link = "https://www.simplifyingthemarket.com/en/2019/03/07/why-an-economic-slowdown-will-not-crush-real-estate-this-time/?a=311651-adc5cc7d14b39be55e90ff0b2b7bbf6a";

var link1 = escape(original_link);
var link2 = encodeURI(original_link);
var link3 = encodeURIComponent(original_link);

var linkedinLink = "https://www.linkedin.com/shareArticle?mini=true&url=";

document.getElementById("link-1").href = linkedinLink + link1;
document.getElementById("link-2").href = linkedinLink + link2;
document.getElementById("link-3").href = linkedinLink + link3;
document.getElementById("link-4").href = linkedinLink + original_link;
<a href='#' id='link-1' target="_blank">Share Attempt 1</a><br/>
<a href='#' id='link-2' target="_blank">Share Attempt 2</a><br/>
<a href='#' id='link-3' target="_blank">Share Attempt 3</a><br/>
<a href='#' id='link-4' target="_blank">Share Attempt 4</a><br/>

编辑 - 附加的一条信息是我们没有共享用户当前所在的 URL。我们正在尝试分享他们当前正在查看的帖子的个性化版本。

【问题讨论】:

  • 这似乎是一种防止查询字符串被用于网络钓鱼攻击的安全功能?不确定它与编码有什么关系。我在linkedin 上看到许多公司为此目的使用URL 缩短器/重定向 - 否则我没有解决方案
  • 呃。确实似乎是不必要的负担,但我想我会保留它作为备份。
  • 实际上,看起来我们的链接的缩短版本在 LinkedIn 发布时也会中断。这是荒唐的。我刚刚尝试在 LinkedIn 上手动共享 URL 的一个小版本。他们将其转换为完整版本并仍然破坏查询字符串。

标签: javascript linkedin query-string sharing social-media


【解决方案1】:

这是一个可能的解决方案,使用他们的 API。 https://jsfiddle.net/yt9hzupw/#&togetherjs=J69Euy0GoC

<script src="//platform.linkedin.com/in.js" type="text/javascript"> lang: en_US</script>
<script type="IN/Share" data-url="http://google.com" data-counter="top"></script>

【讨论】:

  • 深入了解您现在发送的内容,但我应该声明我们共享的 URL 与用户当前使用的 URL 不同。基本上在我们的会员区域内,我们提供了一个按钮来分享他们当前正在查看的帖子的个性化版本。
  • 不幸的是,它看起来也遇到了同样的问题。不过还是谢谢你的建议!
【解决方案2】:

您的第三个链接非常适合我!见:

所以,就 JavaScript 而言,这意味着解决方案是......

var original_link = "https://www.simplifyingthemarket.com/en/2019/03/07/why-an-economic-slowdown-will-not-crush-real-estate-this-time/?a=311651-adc5cc7d14b39be55e90ff0b2b7bbf6a";

var link3 = encodeURIComponent(original_link);
var linkedinLink = "https://www.linkedin.com/shareArticle?mini=true&url=";
document.getElementById("link-3").href = linkedinLink + link3;

您的 HTML 解决方案是……

<a href='#' id='link-3' target="_blank">Share Attempt 3</a><br/>

如果您不确定,可以联系LinkedIn Post Inspector

也很有帮助:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 2010-10-15
    相关资源
    最近更新 更多