8

基本的に、これは私がやっていることです。ユーザーがサイトにアクセスし、「index.html」をロードします index.html 内で、AJAX を介して「details.html」を DIV に自動的にロードします。「details.html」にADDTHISボタンを配置しました。しかし、なぜかロールオーバーがうまくいきません。

ブラウザで details.html にアクセスすると、ロールオーバーが機能します。AJAXのせいだと思いますか?

<a class="addthis_button"  href="http://www.addthis.com/bookmark.php?v=250&amp;pub=xa-4adf7e45288f5b21">
<img src="http://s7.addthis.com/static/btn/sm-share-en.gif" width="83" height="16" alt="Bookmark and Share" style="border:0;margin-top:16px;"/></a>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pub=xa-4adf7e45288f5b21"></script>
4

8 に答える 8

14

私は最近、すべての AJAX サイトで AddThis を使用する際に問題に遭遇し、この問題に対するいくつかの解決策を思いつくことができました。

AJAX スクリプトをロードするときに渡すことができる変数と、DOM が AJAX 経由で再ロードされた場合にスクリプトを再初期化する方法があることがわかりました。ここのブログに完全なソリューションの詳細を投稿しました。

http://joecurlee.com/2010/01/21/how-to-use-addthis-with-ajax-and-overflowauto/

簡単に要約すると、解決策は変数 domready=1 を追加して AddThis をロードし、初期ロードを削除してスクリプトを動的に再ロードすることでスクリプトを再初期化することです。

var script = 'http://s7.addthis.com/js/250/addthis_widget.js#domready=1';
if (window.addthis){
    window.addthis = null;
}
$.getScript( script );
于 2010-01-24T15:47:47.153 に答える
2

同じ問題で実行され、これによりすべての主要なブラウザー (IE6+、FF、MAC/XP の Safari) で解決されました。

http://joecurlee.com/2010/01/21/how-to-use-addthis-with-ajax-and-overflowauto/comment-page-1/#comment-24

于 2010-03-15T17:53:32.397 に答える
2

あなたの質問を正しく理解できたら、ajax 関数のコールバックで、ロールオーバーを add-this ボタンにバインドします。

 $.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(){
     $('.addthis_button').hover(
       function(){
         //do mouse over
       },function(){
         //do mouse out
     });
   }
 });

あなたも試すことができます

$('.addthis_button').live('mouseover',function(){//do mouseover});
$('.addthis_button').live('mouseout',function(){//do mouseout});

私はライブを使用したことはありませんが、 $(document).ready() の後に add_this ボタンが作成されるので、うまくいくようです

于 2009-10-22T07:20:02.273 に答える
0

スクリプトが javascript の onLoad イベントを呼び出しているようで、この ajax 呼び出しを使用しても実際にはそのイベントはトリガーされません。他の「これを共有」ウィジェットを試してみませんか?

http://sharethis.com/#STS=g12m3ugh.21zbのように 、またはそのボタンをプリロードしますか?

あなたが何をしているかについて、もう少しストーリーを投稿できますか?

于 2009-10-21T21:45:37.490 に答える
0

この .js のスニペットを、ロードしている .html に追加します。「#atbutton」をボタンのセレクターに置き換えます。

addthis.button("#atbutton");
于 2009-11-17T02:44:30.843 に答える