Ho aggiunto una cronologia twitter a un sito Web. Rende e se clicco vista origine sulla pagina, posso vedere lo stesso Twitter widget di html che ho aggiunto al sito:Recupero dell'html originale, anziché dell'html reso, con jquery
<div id='twitterDiv'>
<a class="twitter-timeline"
href="https://twitter.com/twitterName"
data-widget-id="123456789">
Tweets by @goodName
</a>
<script type="text/javascript">
window.twttr = (function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id; js.src= "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>
</div>
Ma quando mi afferra il codice HTML del div contenitore utilizzando jQuery, $('#twitterDiv').html();
esso recupera l'iframe reso che Twitter genera anziché l'HTML originale:
<p data-twttr-id="twttr-sandbox-0"><iframe style="border: none; max-width: 100%; min-width: 180px; width: 238px;" height="600" scrolling="no" frameborder="0"></iframe></p>
<p>
<script type="text/javascript">
window.twttr = (function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id; js.src= "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>
come recuperare il codice HTML originale, non l'iframe reso?
Solo per la cronaca, la soluzione in effetti consisteva nel salvare l'html originale in una variabile prima che fosse aggiunta alla pagina, piuttosto che estrarla dalla pagina. – Andrew