In approach1, below is the code for fallback mechanism to load local jQuery library
<head>
<meta charset="UTF-8">
<title>Fallback procedure</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script type="text/javascript">
if (typeof jQuery === 'undefined') {
var element = document.createElement('script');
element.src = '../js/jquery-1.11.3.js';
element.type='text/javascript';
document.getElementsByTagName("head")[0].appendChild(element);
}
</script>
</head>
<body>
<p>Hello World!!</p>
<script type="text/javascript">
jQuery('p').html("Good Bye!!");
</script>
</body>
In approach2, below is the code for fallback mechanism to load load jQuery library
<head>
<meta charset="UTF-8">
<title>Fallback procedure</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script type="text/javascript">
if (typeof jQuery === 'undefined')
document.write('<script type="text/javascript" src="../js/jquery-1.11.3.js"><\/script>');
</script>
</head>
<body>
<p>Hello World!!</p>
<script type="text/javascript">
jQuery('p').html("Good Bye!!");
</script>
</body>
Before executing its arguments, document.write
overwrites all the page elements occured before document.write
.
In this answer it is told that second approach is better.
why second approach is better?