通过Ajax在Jquery框中加载Twitter Box

时间:2012-10-13 13:39:07

标签: javascript jquery html ajax twitter

我想使用(ajax?)

在jquery中加载一个twitter弹出框

这是我的原始代码,它将twitter框加载到一个新窗口中:

function twitter_click() {
    var twtTitle = document.title;
    var twtUrl = location.href;
    var maxLength = 140 - (twtUrl.length + 1);
    if (twtTitle.length > maxLength) {
        twtTitle = twtTitle.substr(0, (maxLength - 3)) + '...';
    }
    var twtLink = 'http://twitter.com/home?status=' + encodeURIComponent(twtTitle + ' ' + twtUrl);
    window.open(twtLink,'','width=565, height=540');
}

以下是jquery弹出框的代码。

    function showUrlInDialog(url, options){
  options = options || {};
  var tag = $("<div></div>"); //This tag will the hold the dialog content.
  $.ajax({
    url: url,
    type: (options.type || 'GET'),
    beforeSend: options.beforeSend,
    error: options.error,
    complete: options.complete,
    success: function(data, textStatus, jqXHR) {
      if(typeof data == "object" && data.html) { //response is assumed to be JSON
        tag.html(data.html).dialog({modal: options.modal, title: data.title}).dialog('open');
      } else { //response is assumed to be HTML
        tag.html(data).dialog({modal: options.modal, title: options.title}).dialog('open');
      }
      $.isFunction(options.success) && (options.success)(data, textStatus, jqXHR);
    }
  });
}


<a href="#" onclick="showUrlInDialog('/feedback-form', {error: function() { alert('Could not load form') }}); return false;"><img src="twitter_button.jpg></a>

我对编码一无所知,所以如果有人可以请将这两个脚本组合在一起,以便第一个脚本的twitter内容加载到jquery弹出脚本中,这将成为我的一天!谢谢。 PIA

1 个答案:

答案 0 :(得分:0)

首先改变这个:

window.open(twtLink,'','width=565, height=540');

到此:

showUrlInDialog(twtLink, {error: function() { alert('Could not load form') }});

然后运行它,使用它:

<a href="#" onclick="twitter_click()"><img src="twitter_button.jpg></a>