は、ここで私がやったことだ:
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);
});
});
通常は、ブラウザのブックマークバーにピン留めするブックマークレットをクリックすると、 、ピンインする画像を選択するためのPinterest UIを表示する関数を自動実行するスクリプト(pinmarklet.js
)を動的に挿入します。
代わりにリンク(#pinit
)がクリックされたときにスクリプトが挿入されるように変更しました。また、id
をスクリプト(#pinmarklet
)に追加して、リンクをクリックするたびに削除($("#pinmarklet").remove();
)することができます。そうしないと、リンクをクリックしたままで同じスクリプトへのリンクが重複することがあります。
とにかく、ページ内からブックマークレットと同じことをやっているというのが最終的な効果です。したがって、同じ方法で動作し、現在のページコンテンツが何であれ、それは他のコンテンツを動的に変更することができ、同じ1つの「Pin It」リンクによって取得されます。
共有のおかげでヒープ! :D – Jess
これは素晴らしいことです。何とか最高のソリューションであるために、Delorianは'12に戻ります。 – bplittle