Почему именно сервисы, такие как Google и Facebook, используют document.createElement('script')
вместо <script>
?
Фрагмент 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>
может быть записано как просто:
<script src="//www.google-analytics.com/ga.js" type="text/javascript"></script>
и 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>
можно упростить как просто:
<script src="//connect.facebook.net/en_GB/all.js#xfbml=1&appId=xxx"></script>
Я знаю, что в них играется безопасно, но кроме этого я не понимаю, почему мы не должны использовать HTML5?