我很难找到一种方法embed a tweet动态地进入网页。理想情况下,我希望用户输入Twitter状态URL(如https://twitter.com/robdelaney/status/329651129988288514),单击按钮,然后将推文嵌入div中。
这是我到目前为止所得到的:
$(document).ready(function(){
$("#resolve").click(function(){
var url = $("#retweet_form_url").val();
if (url==""){
$(".controls").addClass("error");
}
else {
$("#tweet_div").show();
$.ajax({
url: "https://api.twitter.com/1/statuses/oembed.json?url="+url,
dataType: "jsonp",
success: function(data){
// Derp! What do I do here?
}
});
}
})
})
当我使用URL测试时,我确实从Twitter获得了一个JSON响应,而不是包含嵌入推文所需的整个HTML,但是当我尝试解析它时,我无法在我的div中出现任何内容。有人能指出我正确的方向吗?
答案 0 :(得分:7)
data
是一个包含推文详细信息的对象,包括一个包含实际嵌入代码的html
成员。所以:
// ...
success: function(data){
$("#tweet_div").html(data.html);
}
// ...
$(document).ready(function() {
$("#resolve").click(function() {
var url = $("#retweet_form_url").val();
if (url == "") {
$(".controls").addClass("error");
} else {
$("#tweet_div").show();
$.ajax({
url: "https://api.twitter.com/1/statuses/oembed.json?url=" + url,
dataType: "jsonp",
success: function(data) {
$('#tweet_details').html(data.html);
}
});
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id=retweet_form_url value="https://twitter.com/robdelaney/status/329651129988288514" />
<button id=resolve>resolve</button>
<div id=tweet_details></div>