如何将图像URL提供给Pinit按钮?

时间:2013-01-21 13:59:56

标签: javascript api pinterest

我正在尝试将Pinit按钮添加到我的网站。问题是,Pinit按钮需要图像URL,但在我的情况下,图像是动态生成的。那么如何添加Pinit按钮以便它可以固定页面的可见图像。

example之类的东西会很棒。

2 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/t4KHR/

动态添加图像后运行以下代码 将父变量设置为您要共享的图像的ID父级

var url = document.location.href;
var parent = document.getElementById("imgholder");
var img = parent.getElementsByTagName("img");
for (i = 0; i < img.length; i++) {
    var newpin = document.createElement("a");
    newpin.href = 'http://pinterest.com/pin/create/button/?url=' + encodeURIComponent(url) + '&media=' + encodeURIComponent(img[i].src);
    newpin.className = "pin-it-button";
    img[i].parentNode.insertBefore(newpin, img[i].nextSibling)
    if (i == img.length - 1) {
        var s = document.createElement("script");
        s.type = "text/javascript";
        s.src = "//assets.pinterest.com/js/pinit.js";
        document.getElementsByTagName("body")[0].appendChild(s);
    }

}

答案 1 :(得分:1)

<a class="pin-it-button" href="javascript:void((function()%7Bvar%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('charset','UTF-8');e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e)%7D)());">

<img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" />

</a>

上面给出的代码片段解决了我的问题。它所做的不是将URL硬编码到代码链接,而是使用javascript来获取当前URL并显示要固定的当前页面的图像。 并且不要忘记在页眉或页脚中包含以下脚本

<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>