Я пытаюсь использовать Masonry с несколькими встраиваемыми твитами. Но я столкнулся с проблемой наложения элементов друг на друга.
Один метод, который я пробовал, заключался в использовании плагина imagesLoaded в соответствии со справочным руководством, но это не сработало, так как я не думаю, что iframe каждого твита не полностью загружен, я думаю.
я пытался вызвать каменную кладку только тогда, когда страница загружена, но у меня все еще есть проблема с перекрытием твитов.
$(window).bind("load", function() {
var $container = $('#panel');
$container.masonry({
columnWidth: 300,
itemSelector: '.elem'
});
});
Я не знаю, что делать, есть ли способ определить высоту встраиваемого твита, прежде чем отправить его клиенту, чтобы я мог установить его как встроенный стиль iframe. вот данные JSON, возвращенные API Twitter.
=============statuses/oembed============
{ cache_age: '3153600000',
url: 'https://twitter.com/Cristiano/statuses/477052670197653504',
height: null,
provider_url: 'https://twitter.com',
provider_name: 'Twitter',
author_name: 'Cristiano Ronaldo',
version: '1.0',
author_url: 'https://twitter.com/Cristiano',
type: 'rich',
html: '<blockquote class="twitter-tweet"><p>Insane first half against the aliens! <a href="https://twitter.com/FALCAO">@Falcao</a>, we'll show them how we play football! <a href="https://twitter.com/search?q=%23GALAXY11&src=hash">#GALAXY11</a> <a href="http://t.co/z0FzRHz6gG">http://t.co/z0FzRHz6gG</a> <a href="http://t.co/pGJ4F1AcO0">pic.twitter.com/pGJ4F1AcO0</a></p>— Cristiano Ronaldo (@Cristiano) <a href="https://twitter.com/Cristiano/statuses/477052670197653504">June 12, 2014</a></blockquote>\n<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>',
width: 550 }
На стороне сервера я использую node.js с экспрессом
iframe
, когда у вас есть json с html? Просто создайте новыйdiv
для каждой записи json и добавьте к нему содержимое"html"
. - person Ingmars   schedule 17.06.2014