document.createElement ('script') vs <script src = “”>
Por que é que serviços como Google e Facebook usamdocument.createElement('script')
em vez de apenas<script>
?
O snippet do Google Analytics:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
poderia ser escrito como apenas:
<script src="//www.google-analytics.com/ga.js" type="text/javascript"></script>
e o botão do Facebook:
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=xxx";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
poderia ser simplificado como justo:
<script src="//connect.facebook.net/en_GB/all.js#xfbml=1&appId=xxx"></script>
Eu sei que há alguns jogando seguro neles, mas além disso eu não vejo por que não devemos usar os HTML5?