O JavaScript não é executado no Safari ao carregar a página inteira pelo método load () do jQuery
Eu tenho essas duas páginas:
page1.html
http://vidasp.net/tinydemos/jquery-load-issue/page1.html
<!DOCTYPE html,>
<html>
<body>
<div id="wrap"> </div>
<script src="jquery.js"></script>
<script> $(function() { $('#wrap').load('page2.html'); }); </script>
</body>
</html>
page2.html
http://vidasp.net/tinydemos/jquery-load-issue/page2.html
<!DOCTYPE html>
<html>
<head>
<script> alert('Page 2 HEAD'); </script>
</head>
<body>
<p> PAGE 2 </p>
<script> alert('Page 2 BODY'); </script>
</body>
</html>
Como você pode ver, estou carregando toda a page2.html no elemento #wrap da page1.html. Observe que o page2.html contém dois elementos SCRIPT com chamadas de função alert () - um no HEAD da página e outro no BODY da página.
O problema:
No Firefox 3.9, IE9 beta, Chrome (mais recente) e Opera 11, os dois alertas são executados. No Safari 5, apenas o segundo alerta é executado.
Isso é um bug do Safari?