0

IE で問題が発生しました。Twitter でリンクが正常にツイートされた後、AJAX 成功イベントが呼び出されません。私はこのコードを持っています:

jQuery(document).ready(function () {
    jQuery('#tbookmarklet').twitterbutton({
    url: myshareUrl,
    title: myTitle,
    layout: 'none',
    ontweet:function(response){
        jQuery.ajax({
        url: tCallbackUrl,
        type: 'get', 
        error: function() {
            alert('sorry, it fails');
        },
        success: function() {
            alert('tweet success');
        }
        });
    },  
});
 jQuery.ajax({ url: 'https://platform.twitter.com/widgets.js', dataType: 'script', cache:true});
});

成功メッセージを警告する方法はなく、エラーイベントにも該当しなかったため、ここで問題を実際に把握することはできません. これはIEでのみ発生し、FirefoxやChromeなどの他のブラウザでは発生しませんが、リンクはTwitterに正常に投稿されます.

イベントを使用するために Web を読みましたcompleteが、問題は ajax 処理が失敗した場合でも、完了イベントで指定した機能を引き続き実行するため、完了を使用するのは本当に良い考えではありません。

コードの何が問題になっていますか? そして、その考えられる原因を簡単に特定するために何をする必要がありますか。

ありがとう。

質問を更新する必要があります:

crossDomain: true を使用するために Furqan が提案したように。コードを次のように更新しました。

  jQuery.ajax({ 
    url: 'https://platform.twitter.com/widgets.js', 
    dataType: 'jsonp', 
    crossDomain:true,   
    CallbackName: 'SocialMedia'
    });

これの代わりに:

jQuery.ajax({ 
       url: 'https://platform.twitter.com/widgets.js', 
       dataType: 'script', 
       cache:true
});

しかし、それでも私の問題は解決しません。さらに調査した結果、IE では ontweet イベントが実際にはトリガーされないことがわかりました。考えられる理由は何ですか?誰もこの問題に遭遇しましたか?

私の IE ネットワーク プロファイラでは、次の結果が得られました。

http://pastebin.com/fxxCyTSE

が、ツイッターに投稿しました。私の問題は、(twitter から私のサイトに) 私の Web サイトにリダイレクトするときに、イベントもトリガーされないsuccessため、イベントが呼び出されないことです。ontweet

これについて何か考えはありますか?

この問題に関する更新:

さらに調査した結果、Twitter コードに実際にバグがあることがわかりました。IE ではツイート イベントが発生しません。

問題に関連して見つけたリンク:

https://dev.twitter.com/discussions/671

https://dev.twitter.com/discussions/3884

https://dev.twitter.com/discussions/1640

4

1 に答える 1

0

IE での問題は、ツイートの最後にある余分なコンマです。

    },   
}); 

する必要があります

    } 
}); 

IE は余分なコンマを嫌います

于 2012-07-02T12:20:21.917 に答える