Javascript Pinterest按钮链接到错误内容

Javascript Pinterest按钮链接到错误内容,javascript,pinterest,Javascript,Pinterest,在我的网站上,我以以下方式生成Pinterest“pin”按钮: <a href="https://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.example.com%2Fblog%2Fphotography-website-redesign%2F&description=Photography+Website+Redesign" onclick="__gaTracker('send', 'event', 'o

在我的网站上,我以以下方式生成Pinterest“pin”按钮:

<a href="https://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.example.com%2Fblog%2Fphotography-website-redesign%2F&description=Photography+Website+Redesign" onclick="__gaTracker('send', 'event', 'outbound-article', 'https://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.example.com%2Fblog%2Fphotography-website-redesign%2F&amp;description=Photography+Website+Redesign', '');" data-pin-do="buttonPin" data-pin-count="beside"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a>
问题:
在这种情况下(以及其他一些类似的情况下),当不正确地单击时,会提供Pin此url:

附加说明:
1.并非所有的博客条目都有这种不正确的行为。许多其他帖子将“pin”添加到正确的条目。
2.网站已通过Pinterest验证。
3.这个站点有一些htaccess重定向,我认为可能会引起问题。我已经进行了调整/测试,不认为它们是一个因素,但值得一提的是:它将“/blog/”url重定向为不包含“/blog/”。此外,它重定向到强制
https
,以及非www。例如:
http:www.//example.com/blog/st louis aiga网站互动主席//
将重定向到

更新:
这个问题仍然存在,但在这里查看开发人员代码时,我花了大量时间尝试不同的选项

而且,事实证明,即使图像是正确的,描述也是错误的

有什么建议吗

编辑/更新1:
根据@Paolo的回答,我实际上尝试了不同的格式,但结果相同

以下是导致相同结果的不同格式的pin:

<a href="https://www.pinterest.com/pin/create/button/"
    data-pin-do="buttonPin"
    data-pin-media="https%3A%2F%2Fexample.com%2Fwp-content%2Fuploads%2Fhip-photography-web-design.jpg"
    data-pin-url="https%3A%2F%2Fexample.com%2Fphotography-website-redesign%2F"
    data-pin-description="Photography+Website+Redesign"
    data-pin-count="beside">
        <img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" />
</a>

请注意,我想知道URL编码是否会导致问题,所以我在没有URL编码的情况下尝试了它,行为有所不同,但结果是正确的

编辑/更新2:
我决定试试纽扣图书,我看到一些图片上有不正确的行为

它正确地获取了所有图像,但某些图像的描述是正确的,而某些图像的描述是不正确的

以下是pin码(带有匿名URL):


我也尝试过使用完全相同的错误描述的pin:

<a href="https://www.pinterest.com/pin/create/button/"
    data-pin-do="buttonBookmark"
    data-pin-count="beside">
        <img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" />
</a>

作为第一个建议,我将查看Pinterest的文档:


由于您有
data pin do=“buttonPin”
功能,因此需要使用
media
属性指定图像URL。代码中缺少此项

此外,我将使用属性指定
url
description
。在我看来,您的代码中似乎没有错误,但我的方法肯定会防止URL编码错误

最后,我将指定直接指向页面/image/resource的URL,而无需重定向

总而言之:

<a href="https://www.pinterest.com/pin/create/button/"
data-pin-do="buttonPin"
data-pin-media="the-url-of-the-image-here"
data-pin-url="https://www.example.com/photography-website-redesign/"
data-pin-description="Photography Website Redesign"
data-pin-count="beside">
    <img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" />
</a>
(4)再次尝试使用原始的“无属性”版本的代码,该版本将参数附加到URL

但这次对参数进行了不同的编码,与您在Pinterest文档示例中看到的编码方式相同(请参见答案顶部的链接)

为了便于阅读,我在URL中插入了新行,它们应该被省略

<a data-pin-do="buttonPin"
href="https://www.pinterest.com/pin/create/button/
?url=https://www.example.com/photography-website-redesign/&
&media=https://www.example.com/your-image-url-goes-here.jpg&
description=Photography%20Website%20Redesign"
></a>


基本上,在URL参数中,您仅转义符号、带
%20
的空格和双引号。

嗨,卡尔。我是负责Pinterest的pinit按钮的工程师。保罗的回答是正确的;我要补充的是,我不确定你的点击处理程序是否会启动,因为pinit.js会删除你原来的链接,并用它生成的链接替换它。我唯一的另一个建议是您尝试使用Widget Builder生成的确切代码,这里:如果仍然失败,请通过Pinterest Widgets GitHub repo直接联系我,这里:@KentBrewster-我在这里添加了信息,并通过GitHub repo直接与您联系。请告知您是否/何时有任何反馈。谢谢。@cale_b用更多提示更新了答案。。。
<a href="https://www.pinterest.com/pin/create/button/"
data-pin-do="buttonPin"
data-pin-media="the-url-of-the-image-here"
data-pin-url="https://www.example.com/photography-website-redesign/"
data-pin-description="Photography Website Redesign"
data-pin-count="beside">
    <img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" />
</a>
<script async defer src="//assets.pinterest.com/js/pinit.js"></script>
<a data-pin-do="buttonPin"
href="https://www.pinterest.com/pin/create/button/
?url=https://www.example.com/photography-website-redesign/&
&media=https://www.example.com/your-image-url-goes-here.jpg&
description=Photography%20Website%20Redesign"
></a>