Buenas,
estoy teniendo problemas al cargar código de javascript mediante ajax.
Yo en mi sistema tengo que al hacer click en un link me carga la vista (uso el patrón mvc en php) con el html (sin el head) se ese controlador para eso uso esta llamada a ajax:
Código Javascript
:
Ver original$('.ajax').live("click", function(){
var pagina = $(this).attr("href");
envioAjax(pagina);
return false;
})
function inicioEnvio()
{
var x = $("#preloader");
var y = $("#wrapper");
y.css({
'opacity' : 0.3
});
x.css("display","block");
}
function paroEnvio(){
var x = $("#preloader");
var y = $("#wrapper");
x.hide();
y.css({
'opacity' : 1
});
}
function envioAjax(url){
$.ajax({
url: url,
beforeSend: inicioEnvio,
complete: paroEnvio,
success: function(data) {
$.getScript(baseJs+'punk.js');
$.getScript(baseJs+'effects.js');
$.getScript('template/js/jNice.js');
$.getScript('template/js/funciones.js');
$('#main').empty();
$('#main').html(data);
}
});
}
La función anda de maravillas, hasta que tengo que poner código javascrip en el html, ahí no me envia el código js por ejemplo en mi vista quiero poner un gmap asi:
Código HTML:
Ver original<div class="regiones" style="display: none;">lalala
</div> <div class="localidades" style="display: none;">lalala
</div> <div class="geo" style="display: none;"></div> <div class="geos" style="display: none;"></div>
<script type="text/javascript">
function initialize() {
var mapDiv = document.getElementById('map-canvas');
var map = new google.maps.Map(mapDiv, {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
}
google.maps.event.addDomListener(window, 'load', initialize);
<div id="map-canvas" style="width: 500px; height: 400px"></div>
y cuando el ajax me trae la vista en el firebug reviso el código html y me devuelve:
Código HTML:
Ver original<div class="regiones" style="display: none;">lalala
</div> <div class="localidades" style="display: none;">lalala
</div> <div class="geo" style="display: none;"></div> <div class="geos" style="display: none;"></div> <div id="map-canvas" style="width: 500px; height: 400px"></div>
Si pruebo el mismo código sin ser llamado por ajax, se muestra correctamente, que estoy haciendo mal?
Espero que me puedan ayudar, desde ya muchas gracias!