refresh iframe cliccando su bottone all'interno dell'iframe stesso

Il Saggio

Nuovo Utente
8 Ott 2012
7
0
0
ciao a tutti...per la voro ho la necessita di aggiornare il portale sulla quale lavoriamo, ma non basta fare un refresh, in quanto 'iframe si "azzera" quindi mi servirebbe uno script che ogni tot tempo mi clicchi su un bottone all'interno dell'iframe...
attualmente uso questo
Codice:
<script type="text/javascript"> 
//<!--
var intervallo = 120000;
function init_refresh() {
 setTimeout('refresh_iframe()',intervallo);
}
// caricamento iterato dell'iframe
function refresh_iframe() {
 var myIFrame = document.getElementById('sed');
 if (!myIFrame) return false;
 myIFrame.src = myIFrame.src;
 setTimeout('refresh_iframe()',intervallo);
}
window.onload = init_refresh;
//-->
</script>
e l'iframe si chiama appunto "sed"
il bottone dovrebbe chiamarsi "btRiceca"
premetto che anche masticando l'html gli script non sono il mio forte...

grazie a chi mi aiuterà ;)
 
ciao a tutti...per la voro ho la necessita di aggiornare il portale sulla quale lavoriamo, ma non basta fare un refresh, in quanto 'iframe si "azzera" quindi mi servirebbe uno script che ogni tot tempo mi clicchi su un bottone all'interno dell'iframe...
attualmente uso questo
Codice:
<script type="text/javascript"> 
//<!--
var intervallo = 120000;
function init_refresh() {
 setTimeout('refresh_iframe()',intervallo);
}
// caricamento iterato dell'iframe
function refresh_iframe() {
 var myIFrame = document.getElementById('sed');
 if (!myIFrame) return false;
 myIFrame.src = myIFrame.src;
 setTimeout('refresh_iframe()',intervallo);
}
window.onload = init_refresh;
//-->
</script>
e l'iframe si chiama appunto "sed"
il bottone dovrebbe chiamarsi "btRiceca"
premetto che anche masticando l'html gli script non sono il mio forte...

grazie a chi mi aiuterà ;)

Ciao,

non capisco la logica del tuo esempio, non fai un refresh reload() dell'iframe ma chiedi di ricaricare nuovamente la pagina inclusa nell'iframe se usi src.

se la pagina inclusa dell'iframe si chiama pippo.html

questo: myIFrame.src = myIFrame.src;

equivale a scrivere

myIFrame.src = "pippo.html";

sed.location.reload();

Valeria.
 
ciao Valeria...
allora il codice che ho postato è quello che volevo usare per aggiornare un iframe in automatico e funziona..
ma poi mi sono reso conto che aggiornando la pagina (equivalente a F5) l'iframe perde tutto e ritorna alla pagina iniziale (una index per capirci) questo per un errore fatto da chi ha creato la pagina...l'unico modo per non sloggarsi (che è lo scopo di tutto ciò) senza perdere quello che si sta visualizzando è cliccare su un tasto (ricerca) all'interno della pagina, quindi dell'iframe...
spero di essermi spiegato, ma per farti capire meglio aggiungo che la pagina in questione è del nostro portale aziendale grazie alla quale possiamo richiamare delle sedi con relative informazioni, ma a causa di improvvisi logout perdiamo le informazioni che abbiamo a video, quindi ho pensato di fare un refresh della pagina automatico per non essere buttati fuori, ma a quanto pare non basta...
il reparto informatico non può modificare il portale "solo" per noi che siamo del reparto "tecnico"
 
Ultima modifica:
ciao Valeria...
allora il codice che ho postato è quello che volevo usare per aggiornare un iframe in automatico e funziona..
ma poi mi sono reso conto che aggiornando la pagina (equivalente a F5) l'iframe perde tutto e ritorna alla pagina iniziale (una index per capirci) questo per un errore fatto da chi ha creato la pagina...l'unico modo per non sloggarsi (che è lo scopo di tutto ciò) senza perdere quello che si sta visualizzando è cliccare su un tasto (ricerca) all'interno della pagina, quindi dell'iframe...
spero di essermi spiegato, ma per farti capire meglio aggiungo che la pagina in questione è del nostro portale aziendale grazie alla quale possiamo richiamare delle sedi con relative informazioni, ma a causa di improvvisi logout perdiamo le informazioni che abbiamo a video, quindi ho pensato di fare un refresh della pagina automatico per non essere buttati fuori, ma a quanto pare non basta...
il reparto informatico non può modificare il portale "solo" per noi che siamo del reparto "tecnico"



Ciao,

vuoi che ogni tot secondi venga fatto un click in auto.

Valeria.
 
esattamente, vorrei che ogni tot (tipo 5 min) automaticamente la pagina cliccasse su un tasto nell'iframe (ricerca o altri)
è fattibile?
 
Prova cosi,

Codice:
<script type="text/javascript"> 
var intervallo = 300000;
window.onload=function init_refresh() {
setTimeout('refresh_iframe()',intervallo);
}
function refresh_iframe(){
setTimeout('refresh_iframe()',intervallo);
sed.prova.btRiceca.click();
}
</script>

iframe ES:

Codice:
<iframe src="" width="" height="" scrolling="auto" frameborder="" id="sed" name="sed"></iframe>

form in iframe ES:

Codice:
<form name="prova" action="">
<input type="submit" name="btRiceca">
</form>


sed.prova.btRiceca.click();

nome iframe . nome form . nome button


Valeria.
 
Grazie 1k...lo sto vedendo ora..solo che io nell'iframe non ho un form
Codice:
<input class="button primary" type="button" onClick="javascript:funAvviaRicercaVeloceSubmit()" value="Ricerca" name="btRiceca">
a sto punto metto carne sul fuoco...e se volessimo refresha ogni tot tempo di inattività? :)
 
Grazie 1k...lo sto vedendo ora..solo che io nell'iframe non ho un form
Codice:
<input class="button primary" type="button" onClick="javascript:funAvviaRicercaVeloceSubmit()" value="Ricerca" name="btRiceca">
a sto punto metto carne sul fuoco...e se volessimo refresha ogni tot tempo di inattività? :)


Ciao,

non capisco il perché un refresh della pagina ti slogga dalla pagina.

Un conto è il refresh della pagina index (che presumo contenga l'iframe) altro è il refresh del solo iframe.

Come sono mantenuti i dati quanto uno si logga, session, cookie, session e cookie ecc... sono pagine statiche o dinamiche?.

Non puoi modificare il codice dell'iframe se è una pagina tua e residente sul tuo server?

Non capisco il dover gestire l'iframe dalla pagina che lo contiene, non puoi mettere il js nella pagina inclusa (l'iframe)

Forse e dico forse, per gestire l'inattività della pagina, mettere un conto alla rovescia che parte quando la apri se dopo 5 minuti non viene fatta nessuna operazione allora fai il refresh, altro il contatore ripartirebbe da 5 minuti.


Valeria.
 
è difficile da spiegare...ero qui adesso con chi ha fatto il portale e nemmeno lei ci è riuscita :)
l'iframe non si può toccare, in quanto così è stato commissionato, quindi così deve rimanere...il problema si presenta solo a noi tecnici, perchè dopo 20 min il portale ti slogga, se non si clicca nulla all'interno della pagina. Ecco perchè sto provando a mettere il portale dentro un iframe, e cercare di cliccare in automatico su qualche tasto per non farmi sloggare, ancora più interessante sarebbe se dopo un tot di inattività della pagina...infatti nel nostro caso non interagire con la pagina non vuol dire che non stiamo al pc ma che stiamo configurando degli apparati con i dati della pagina stessa, quindi è necessario che anche dopo 20 min i dati rimangano presenti
 
è difficile da spiegare...ero qui adesso con chi ha fatto il portale e nemmeno lei ci è riuscita :)
l'iframe non si può toccare, in quanto così è stato commissionato, quindi così deve rimanere...il problema si presenta solo a noi tecnici, perchè dopo 20 min il portale ti slogga, se non si clicca nulla all'interno della pagina. Ecco perchè sto provando a mettere il portale dentro un iframe, e cercare di cliccare in automatico su qualche tasto per non farmi sloggare, ancora più interessante sarebbe se dopo un tot di inattività della pagina...infatti nel nostro caso non interagire con la pagina non vuol dire che non stiamo al pc ma che stiamo configurando degli apparati con i dati della pagina stessa, quindi è necessario che anche dopo 20 min i dati rimangano presenti

Ti slogga dopo 20 minuti, perché 20 minuti è il limite impostato di defaul dal/i server per la scadenza delle sessioni.

Di a chi a scritto il codice di aumentare il Session.Timeout, scadenza della sessione PS (in ASP, per PHP non so)

comunque basta aumentare il tempo di durata della sessione Session.Timeout = 100 100=100minuti.

PS (un refresh della pagina non slogga se è impostata una Session)

Se vuoi implementare ancora, quando uno si logga, basta inserire le sesion in un cookie.

Con javascript fai meno di nulla.

Valeria.
 
il problema che loro non possono toccare il timeout perchè dai vertici gli è stato detto di fare così...senza considerare i problemi in campo....
Codice:
<script type="text/javascript"> 
var intervallo = 5000;
function init_refresh() 
{
 setTimeout('refresh_iframe()',intervallo);
}
function refresh_iframe()
{

// setTimeout('refresh_iframe()',intervallo);
sed.frmRicercaRapida.btRiceca.click();
}
window.onload = init_refresh;
</script>
sto facendo delle prove, ho trovato il form nella pagina mi era sfuggito...ma non va
 
Hai un button che richiama una funzione in JS con onclick: funAvviaRicercaVeloceSubmit()


non un <type="submit"


V.
 
il problema che loro non possono toccare il timeout perchè dai vertici gli è stato detto di fare così...senza considerare i problemi in campo....
Codice:
<script type="text/javascript"> 
var intervallo = 5000;
function init_refresh() 
{
 setTimeout('refresh_iframe()',intervallo);
}
function refresh_iframe()
{

// setTimeout('refresh_iframe()',intervallo);
sed.frmRicercaRapida.btRiceca.click();
}
window.onload = init_refresh;
</script>
sto facendo delle prove, ho trovato il form nella pagina mi era sfuggito...ma non va



Ciao,

altro tentativo, invece di impostare il click() sul button prova a fare il submit() sul form

Codice:
<script type="text/javascript"> 
var intervallo = 30000; // 30 secondi
window.onload=function init_refresh() {
setTimeout('refresh_iframe()',intervallo);
}
function refresh_iframe(){
setTimeout('refresh_iframe()',intervallo);
//sed.frmRicercaRapida.btRiceca.click();
sed.frmRicercaRapida.submit();
}
</script>

Valeria.
 
negativo...sto facendo molte prove ma non ne va nessuna....
adesso l'errore della pagina mi dice che non "autorizzazione negata" mmmm
la cosa strana è che in nessun modo riesco a cliccare su questo cavolo di pulsante...
 
negativo...sto facendo molte prove ma non ne va nessuna....
adesso l'errore della pagina mi dice che non "autorizzazione negata" mmmm
la cosa strana è che in nessun modo riesco a cliccare su questo cavolo di pulsante...


Ciao,

state usando una intranet.

La pagina che hai messo nell'iframe fa parte dello stesso dominio (intranet o internet), o si trova in una posizione diversa dal server.

Linguaggio usato per la programmazione.

Posta almeno un po di codice.

Personalmente ritengo che il webmaster che ha fatto il portale (intranet o internet), di rivedere la struttura di programmazione, e sistemare il tutto lato server.


"autorizzazione negata"

Questo avviso di solito viene visualizzato quando si tenta di accere ad una pagina che non risiede e/o non fa parte dello stesso dominio.

JS non è una soluzione.


il solo refresh dell'iframe (indifferentemente se poi ti slogga) funziona?

cambia:

sed.frmRicercaRapida.submit();

con


sed.location.reload();


vedi se il refresh dell'iframe lo fa, non come il tuo esempio che non fa un reload ma punta a una pagina .html quella che contiene l'iframe come spiegato in precedenza.


il problema che loro non possono toccare il timeout perchè dai vertici gli è stato detto di fare così...senza considerare i problemi in campo....

Se vogliono una soluzione stabile e funzionale devono considerare i problemi in campo......................

Valeria.
 
Ultima modifica:

Discussioni simili