Official Implementation
HTML<a href="//www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.flickr.com%2Fphotos%2Fkentbrew%2F6851755809%2F&media=http%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest" data-pin-do="buttonPin" data-pin-config="above"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a>
<!-- Please call pinit.js only once per page -->
<script type="text/javascript" async src="//assets.pinterest.com/js/pinit.js"></script>
Solutions
This fix relies on the fact that Pinterest loads it's code into a PIN_12345
variable where 12345
is the current day since epoch. If you inspect the pinit.js
file you will see the same calculation used to determine the variable to delete.
Remove the script tag from the body
and the following coffeescript to your application:
COFFEESCRIPTPinterest =
load: ->
delete window["PIN_"+~~((new Date).getTime()/864e5)]
$.getScript("//assets.pinterest.com/js/pinit.js")
$ ->
Pinterest.load()
# if you're using jquery.turbolinks, you don't need this binding
$(document).on 'page:load', ->
Pinterest.load()
Thanks to the VanRuby Meetup for help and pizza on developing this fix.
Related Issues: #28
Contributors
All solutions should be considered unofficial. There is no guarantee that a given solution will work with your application. If you find that a solution is insufficient, please let me know by submitting an issue on Github.