興味のある人のために、私がやったことは次のとおりです。
HTML:
<a href="#" id="pinit">Pin It</a>
JS:
$(document).ready(function(){
$("#pinit").click(function(){
$("#pinmarklet").remove();
var e = document.createElement('script');
e.setAttribute('type','text/javascript');
e.setAttribute('charset','UTF-8');
e.setAttribute('id','pinmarklet');
e.setAttribute('src','http://assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e);
});
});
通常、ブラウザのブックマーク バーで Pin It ブックマークレットをクリックすると、pinmarklet.js
ピン留めする画像を選択するための Pinterest UI を表示する関数を自動実行するスクリプト ( ) が動的に挿入されます。
これを変更して、代わりにリンクがクリックされたときにスクリプトが挿入されるようにしました ( #pinit
)。またid
、スクリプト ( )に を追加して、リンクがクリックされるたびにスクリプト#pinmarklet
を削除 ( ) し、再度追加できるようにしました。$("#pinmarklet").remove();
とにかく、最終的な結果として、ブックマークレットと同じことを、代わりにページ内から実行しているということになります。したがって、同じように機能し、現在のページ コンテンツが何であれ取得します。つまり、他のコンテンツを動的に変更でき、同じ「Pin It」リンクで取得できます。