Visualizzazione dei risultati da 1 a 4 su 4

Discussione: popup e frame

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    58

    popup e frame

    salve
    ho un popup con un link "prenota subito" che appare al load dell'index che è una pagina normale. Il link del popup punta ad una pagina interna del sito che invece è divisa in tre frame sx, alto, centro. Vorrei che cliccando sul link si aprisse la pagina di tariffe che è contenuta all'interno del frame di centro e si chiudesse il popup. Ho provato così ma funziona solo in locale. Sul Web mi dice che l'oggetto centro non è definito:


    <a href="#" onClick="window.opener.parent.location.href='home. htm';window.opener.centro.location.href='tariffe.h tm';self.close();">prenota
    subito &gt;&gt;&gt;</a>

    dove home.htm è il nome della pagina che contiene i frame

    Grazie
    Alfi

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao alfi,

    il problema su web è la lentezza... la prima istruzione fa caricare la pagina frameset, la seconda dice di caricare qualcosa nel frame "centro" che però non è disponibile subito e quindi ti da errore.
    Potresti passare in querystring al frameset la pagina da caricare in centro e naturalmente nel frameset mettere uno scriptino che lo faccia.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    58
    Dal momento che il sito si trova su un server che non supporta l'ASP , dovrei richiamare la querystring con il javascript: giusto? Non sono molto pratica di javascript ma guardando nel forum ho ricavato questo codice con il quale recupero la querystring e quindi so che link è sato cliccato. Ho pensato di creare un if nel codice del frameset e cioè se nomepag (variabile che contiene la querystring) è "offerta" cambia la pagina del frema inferioredx, ma non funziona. Potreste controllare e dirmi se sono sulla strada giusta?
    Grazie
    Alfi
    frameset cols="184,*" framespacing="0" border="0" frameborder="0">
    <frame name="sinistra" scrolling="auto" noresize target="sinistra" src="menusx.htm" marginwidth="0" marginheight="0">
    <frameset rows="82,*">
    <frame name="superioredx" target="superioredx" src="intestazione.htm" scrolling="no" noresize>
    <script>
    function JSRequest(key){
    var myQueryString = new String(window.location.search); // assume la querystring
    var myQueryString = myQueryString.replace("?",""); // toglie il punto interrogativo
    var splittedQS = myQueryString.split("&"); // separa le coppie chiave/valore
    for (i=0; i<splittedQS.length; i++){
    myKeyValueSplitted = splittedQS[i].split("=");//separa la chiave dal valore
    if (myKeyValueSplitted[0] == key){
    //alert(myKeyValueSplitted[1]);
    return myKeyValueSplitted[1];
    }
    }
    }
    // per recuperare il valore della variabile ti basta scrivere
    valore = JSRequest("pagina");
    if (valore=="offerta"){
    nomepag="tariffe.htm";
    document.write ("<frame name='inferioredx' src=" + nomepag + " target='_self'>");
    }
    else{
    nomepag="principale.htm";
    document.write ("<frame name='inferioredx' src=" + nomepag + " target='_self'>");
    };
    </script></frameset>

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao alfi,

    sei sulla strada giusta :metallica

    solo che non puoi mettere uno script all'interno dei tag per il frameset. Potresti scrivere tutto con lo script
    codice:
    <script> 
    function JSRequest(key){ 
    	var myQueryString = new String(window.location.search); // assume la querystring 
    	var myQueryString = myQueryString.replace("?",""); // toglie il punto interrogativo 
    	var splittedQS = myQueryString.split("&"); // separa le coppie chiave/valore 
    	for (i=0; i<splittedQS.length; i++){ 
    		myKeyValueSplitted = splittedQS[i].split("=");//separa la chiave dal valore 
    		if (myKeyValueSplitted[0] == key){ 
    			//alert(myKeyValueSplitted[1]); 
    			return myKeyValueSplitted[1]; 
    		} 
    	} 
    } 
    
    document.write ('<frameset cols="184,*" framespacing="0" border="0" frameborder="0">\n');
    document.write ('<frame name="sinistra" scrolling="auto" noresize target="sinistra" src="menusx.htm" marginwidth="0" marginheight="0">\n');
    document.write ('<frameset rows="82,*">\n'); 
    document.write ('<frame name="superioredx" target="superioredx" src="intestazione.htm" scrolling="no" noresize>\n');
    
    // per recuperare il valore della variabile ti basta scrivere 
    valore = JSRequest("pagina"); 
    if (valore=="offerta"){ 
    	nomepag="tariffe.htm"; 
    	document.write ('<frame name="inferioredx" src="' + nomepag + '" target="_self">\n'); 
    } 
    else{ 
    	nomepag="principale.htm"; 
    	document.write ("<frame name='inferioredx' src=" + nomepag + " target='_self'>"); 
    }; 
    
    document.write ('</frameset>');
    </script>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.