Twitter Встроенный обратный вызов шкалы времени

мы много занимались твиттеромВстроенные сроки. Я'мы пытались выяснить, возможно ли узнать, когда закончится загрузка временной шкалы, идисплеи на странице. этовопрос был запрошен, но еще не реализовано. Я зашел в тупик и надеюсь, что кто-нибудь сможет помочь мне найти решение. Вот что я нашел до сих пор:

Код для добавления встроенной временной шкалы:

<a class="twitter-timeline" href="https://twitter.com/twitterapi" data-widget-id="YOUR-    WIDGET-ID-HERE">Tweets by @twitterapi</a>
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");

Что происходит при запуске скрипта:

Скрипт заменяет<a></a> пометить с элемент.

Содержаниеiframe готовы, но аватар и изображениеследовать @username ' Кнопка не закончила загрузку. Этоiframeheight атрибут установлен в 0, так что вы нене видеть содержимое без изображений.

Изображение аватара загружено, носледовать @username ' Кнопка все еще загружается. Контент до сих пор не виден.

'следовать @username ' Кнопка закончила загрузку. Этоiframeheight атрибут устанавливается в соответствии с высотой содержимогоiframe, Временная шкала теперь видна.

Сейчас я'Я перепробовал все, что мог придумать, чтобы понять, когда график виден (без используя settimeout / interval). Цель состоит в том, чтобы иметь событие / функцию / обратный вызов без опроса. Вот что я пытался безуспешно:

Настройка прослушивателей событий наiframe (такие как , ,onloadDOMContentLoadedDOMFrameContentLoadedи т. д.), чтобы узнать, когда контент закончил загрузку. Это десяткит работа, потому чтоiframe не имеетsrc приписывать. Пройдя через код uglified (я не смог найти несжатую версию), я предполагаю, что он использует записи для добавления содержимого в тело.iframeНастройка слушателей событий, чтобы знать, когдаheight изменения атрибута наiframe, Теоретически это событие должно запускаться три раза: сначала при загрузке контента, затем приheight установлен в 0, и третий, когдаheight установлен, чтобы показать полностью загруженную временную шкалу. Тем не менее, я смог запустить событие только в первых двух случаях, а не в третьем (то, что я на самом деле хотел). Я использовал ,DOMSubtreeModifiedonreadystatechange, а такжеonpropertychange, но толькоDOMSubtreeModified работал для стрельбы события.Настройка прослушивателей событий на котентыiframe, Потому что JavaScript может достичь внутриiframe из Twitter можно получить любой элемент внутриiframe (такие какdocument или жеwindow). Тем не менее, добавив,onloadDOMContentLoaded, или жеDOMFrameContentLoaded слушатели событий наwindow или жеdocument изiframe до сих пор не срабатывает эти события.Настройка прослушивателей событий наследовать @username ' кнопка. Кнопка на самом делеiframe это имеетsrc приписывать. Установивonload событие, оно будет запущено при загрузке. Тем не менееonload событие всегда будет срабатывать дважды. Первый раз, когда он закончил загрузку, и второй, когда он закончил обработку. Сразу после второго запуска будет показана временная шкала. Для реализации этого достаточно взломать (я думаю, все так), так как вы должны ждать содержимоеiframe загрузить, добраться внутрь и получитьследовать @username ' iframeустановитьonload событие на нем, затем подождите, пока не сработает второе событие.С использованиемtwttr.widgets.createTimeline() функция, которая имеет необязательный параметр для обратного вызова. Однако обратный вызов вызывается, когда контент готов (шаг 2), но не тогда, когда iframe виден (шаг 4).

Там's, вероятно, еще несколько комбинаций, которые я забыл на данный момент. Я знаю, что существуетGithub Gist который использует твиттерwidget.js, но добавляет обратные вызовы к нему. Я не смог заставить это работать.

Извините за вопрос журнала, но я надеюсь, что кто-то может помочь. Благодарю.

Ответы на вопрос(3)

Ваш ответ на вопрос