1

我正在使用 Twitter Anywhere 在我的网站上创建一个 Tweet Box。一切都按预期工作;但是这种方法的一个问题是,当按下推文按钮但推文没有通过时(例如,当它是重复的推文时),没有错误消息或警报;相反,加载图标只是无限期地旋转。我一直在寻找解决方案,但据我所知,通过 Twitter Anywhere 没有针对此类事情的错误消息回调。我能想出的最佳解决方案是使用 setTimeout 在推文在 15 秒左右未通过时提醒消息。

就像是

.$button.click(function(){
 // alert error if not onTweet after 15 seconds
})

我不知道在我的代码块中在哪里实现。有什么想法吗?(您可以忽略 ajax 提交,他们只是将信息发布到数据库)。

                    twttr.anywhere(function (T) {
                  T("#tbox").tweetBox({
                      height: 131,
                      width: 249,
                   defaultContent : genTweet, 
                   counter : true, 
                   label : '', 
                   complete : function (tweetBox) {
                      me.tweetBox = tweetBox; 
                      try {
                        me.tweetBox.$editor.attr('maxlength',140);
                        me.tweetBox.$button.html('Submit');
                        me.tweetBox.$counter.prepend('<span>Character Count: </span>');

                         me.tweetBox.$editor.click(function(){
                            if (me.tweetBox.$counter.children('span').length) {

                            }
                            else {
                                me.tweetBox.$counter.prepend('<span>Character Count: </span>');
                            };
                        });
                         me.tweetBox.$counter.css({
                            color : '#918e8e',
                            'font-size' : '8px',
                            'position': 'absolute',
                            'right': '12px',
                            'top': '120px'
                        });
                         me.tweetBox.$editor.css({
                            resize : 'none', 
                            color : '#000', 
                            'font-family': 'Georgia', 
                            'font-size': '15px', 
                            background : 'transparent'
                         }); 
                         me.tweetBox.$button.parent('span').css( {
                            color : '#fff',
                            cursor : 'pointer',
                            'background' : '#ed1c24',
                            border: '1px solid red',
                            'font-weight' : 'bold',
                            padding : '0'

                         }); 
                        me.tweetBox.$button.css( {
                            color : '#fff',
                            cursor : 'pointer',                             
                            'background' : '#ed1c24',
                            'font' : 'bold 17px/1em Arial Narrow, Open Sans, sans-serif',
                            'letter-spacing' : '1px',
                            'padding' : '10px 12px',
                            'text-transform' : 'uppercase',
                            'text-shadow' : '0 0 0 #999'

                         });
                      } catch (e) {
                         //
                      }
                   },
                    onTweet : function (tweet, renderedTweet) {
                        //alert( "Data Saved: " + renderedTweet );
                        $.ajax({ 
                          type: "POST", 
                          url: "insert.php",
                          data:{
                    "tweets":renderedTweet,
                    "emailForm": $('#email').val()
                    }, 
                          success: function(){ 
                            $('#widget-post').ajaxSubmit();
                          } 
                          });

                      $('#step-3 .step-content, #steps').slideUp();
                      $('#thank-you').slideDown();
                   }
                    });
                $('#step-2 .step-content').slideUp();
                $('#step-3 .step-content').slideDown();
                });
4

0 回答 0