Comment configurer le délai d'attente avant une actualisation sur les délais intégrés de Twitter?

Comment puis-je configurer le délai d'attente avant une actualisation sur les délais intégrés de Twitter?

J'ai besoin de modifier l'heure d'attente pour mettre à jour les échéanciers de Twitter sur mon site. Actuellement, chaque seconde, l'API de Twitter demande ajax de mettre à jour les échéanciers. Mais sur le navigateur avec les moteurs lents de JS (en d'autres termes: IE), le navigateur devient lent ou parfois le navigateur arrête de fonctionner.

Pour résoudre ce problème, je souhaite configurer le délai avant une actualisation sur les échéances de Twitter

Je n'ai trouvé aucune référence sur API pour savoir comment je peux le faire.

J'utilise le code JS suivant pour importer le calendrier:

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p='https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p "://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script> 

Pour montrer les délais, j'utilise un code HTML comme ci-dessous:

 <div class="box-twitter"> <p class="title-box"><span class="icon"></span>WHAT'S HAPPENING ON TWITTER </p> <a class="twitter-timeline" href="https://twitter.com/search?q=from:dev include:retweets" data-widget-id="394816085830025216"><img src="preloader.gif" style="margin-left: 132px; margin-top: 20px;"/></a> 

Quelqu'un sait comment puis-je résoudre ce problème?

Merci.

Je crois que la définition d'une Tweet limit pourrait être une option.

Limite du code: To fix the size of a timeline to a preset number of Tweets, use the attribut data-tweet-limit = "5" with any value between 1 and 20 Tweets. The timeline will render the specified number of Tweets from the timeline, expanding the height of the widget to display all Tweets without scrolling. with any value between 1 and 20 Tweets. The timeline will render the specified number of Tweets from the timeline, expanding the height of the widget to display all Tweets without scrolling. Étant donné que le widget est d'une taille fixe, il ne sollicitera pas les mises à jour lors de l'utilisation de cette option.

https://dev.twitter.com/docs/embedded-timelines

par exemple

<a class="twitter-timeline" href="https://twitter.com/twitterapi" data-widget-id="YOUR-WIDGET-ID-HERE" data-chrome="nofooter" data-tweet-limit="3">Tweets by @twitterapi</a>

Et puis, si vous le souhaitez, vous pouvez mettre à jour vos widgets manuellement, en les supprimant en réinsérant le html puis en appelant.

twttr.widgets.load()

Après avoir effectué une ingénierie inverse, sur le fichier widget.js fourni par Twitter. J'ai trouvé une méthode appelée 'schedulePolling', avec le code ci-dessous:

 schedulePolling: function(e) { var t = this; if (this.pollInterval === null) return; e = twttr.widgets.poll || e || this.pollInterval || 1e4, e > -1 && window.setTimeout(function() { this.isUpdating || t.update(), t.schedulePolling() }, e) 

Pour augmenter le délai d'attente, j'ai ajouté une valeur fixe sur ce code.

 schedulePolling: function(e) { var t = this; if (this.pollInterval === null) return; e = 60000 || e || this.pollInterval || 1e4, e > -1 && window.setTimeout(function() { this.isUpdating || t.update(), t.schedulePolling() }, e)} 

J'ai remplacé le code twttr.widgets.poll pour le temps que je voulais «60000»;

Après cela, enregistrez le widget.js avec mon code personnalisé.

Ainsi, après cette personnalisation, j'ai modifié la ligne où l'API Twitter a été importée, en changeant la valeur par défaut //platform.twitter.com/widgets.js au chemin de mon fichier personnalisé my-site/js/customized_widgets.js .

C'est le résultat.

 <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p='https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"/my-site/js/customized_widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>