[JavaScript & Ajax] Eseguire script dopo chiamata A

tiinho

Nuovo Utente
30 Mag 2015
3
0
0
Ciao, io uso questo codice per sostituire il main della mia mia index con in contenuto di un altra pagina.
var cartip=document.createElement("div") //Dynamically create tooltip element
cartip.setAttribute("id", "cartooltip")
document.body.appendChild(cartip)
var cartooltipobj=document.getElementById("cartooltip")
var rightcolumnobj=document.getElementById("rightcolumn")

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

document.getElementById("rightcolumn").onmouseover=function(){ //show tooltip
var titletext=document.getElementById("cartitle")? document.getElementById("cartitle").innerHTML : "DD Forums Archive"
cartooltipobj.innerHTML=titletext
cartooltipobj.style.left=rightcolumnobj.offsetLeft+rightcolumnobj.offsetWidth-180+"px"
cartooltipobj.style.top=rightcolumnobj.offsetTop+rightcolumnobj.offsetHeight-40+"px"
cartooltipobj.style.visibility="visible"
}

document.getElementById("rightcolumn").onmouseout=function(){ //hide tooltip
document.getElementById("cartooltip").style.visibility="hidden"
}
Più questo:

<script type="text/javascript">
var loadedobjects=""
var rootdomain="http://"+window.location.hostname

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
</script>

Ho notato che quando vado a caricare una pagina tramite la funzione ajax, all'interno di essa non mi funziona nessun tipo di javascript ad esempio il apri e chiudi di un div. Tengo a precisare che la pagina che carico tramite ajax ha solo html, lo scipt è presente nella pagina principale dove viene caricata, ha giusto la classe dello script che dovrebbe eseguire.

Grazie

Come posso implementare qualcosa che mi legga lo script? Non mastico molto di ajax.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, se le funzioni sono nella pagina chiamante devono funzionare, ti faccio un esempio
pagina chiamante
HTML:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $.get("paginachiamata.html", function (response) {
            $("#risultato").html(response);
        });
    });
    function saluta() {
        alert("ciao");
    }
</script>    
<div id="risultato">

</div>
pagina chiamata
HTML:
<input type="button" value="SALUTA" onclick="saluta()"/>
non viene invece eseguito il codice tra i tag <script>
 

tiinho

Nuovo Utente
30 Mag 2015
3
0
0
io ho una funzione per lo slider. nella home l'unica funzione tra tag <script> $(document).ready(function() {
$('#smart-gallery').gallery({ stickthumbnails: true, random: true});
});</script> è questa.

La devo mettere nella mia page load?? function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
$("#zoom").imageLens();
}

dove ho anche la funzione per lo zoom?? se si come

grazie per la risposta