StumbleUponはウィジェットスクリプトを公開し、それを使用してstumbleUponボタン(バッジと呼ばれます)をWebサイトに挿入する方法を文書化します。
オンラインツールを使用して、ボタンのマークアップを生成できます。次のようになります。
<!-- Place this tag where you want the su badge to render -->
<su:badge layout="2" location="http://example.com"></su:badge>
<!-- Place this snippet wherever appropriate -->
<script type="text/javascript">
(function() {
var li = document.createElement('script');
li.type = 'text/javascript';
li.async = true;
li.src = 'https://platform.stumbleupon.com/1/widgets.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(li, s);
})();
</script>
このスクリプト要素は、widgets.jsを遅延ロードする方法にすぎません。それを見るだけで、ドキュメントをスキャンして<su:badge>
要素を探し、それらを。に置き換えることで機能すると思いますiframes
。次に、iframe自体が次のようなURLでstumbleuponからソースコンテンツを取得しますhttp://badge.stumbleupon.com/badge/embed/4/?url=http%3A%2F%2Fexample.com
。
iframeは視覚的に次のようにレンダリングされます。
スタンブルアポンボタンは2番目です。比較のために他のものを示します。ご覧のとおり、StumbleUponのレンダリングは他のすべての人とは異なって見えます。SUはボタンを「バッジ」のように見せますが、他のすべてのソーシャル共有ウィジェットは...ええと....ボタンのように見えます。
Stumbleuponウィジェットをボタンのように見せようとしています。私はこれが可能であるとかなり確信しています。たとえば、mashableはそれを行います(例)。外観は次のとおりです。
ご覧のとおり、スタンブルアポンのボタンはボタンのように見えます。バッジではありません。Mashableはそれを使用していませんsu:badge
-彼らは独自の<a>
タグをレンダリングし、それをスタイル設定しました。
視覚的なレンダリングは問題ではありません。スパンをボタンのように見せることができます。問題ありません。タグまたはスパンをクリックすると問題が発生します。StumbleUponが使用するiframeを使用すると、このURLを呼び出して、共有するページを送信するように見えます。
http://www.stumbleupon.com/badge/?url=http%3A//example.com/whatever HTTP / 1.1
iframeはjavascriptwindow.open
を使用してそれを要求し、サイズ変更などを制限します。これは、mashableでどのように機能するかです。結果のウィンドウは次のようになります。
これは、iframeを使用していませんが、マッシュ可能なページが行うことでもあります。Mashableページには、メインのMashableページ内から直接「stumbleuponsubmit」ウィンドウを開くだけのJavaScriptが含まれています。
しかし、私のページから同じことを試してみると、小さな固定ウィンドウはStumbleUponから302リダイレクトを取得し、次に別の302を取得します。
...リンクの共有を許可しません。
これは長い話ですが
、iframeに含まれていないボタンからリンクまたはURLを共有できるようにStumbleUponを説得する方法について誰かが洞察を持っていますか?
mashableの秘密は何ですか?