Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Info su location.href e referer

    Ciao, se mando il browser ad una pagina con location.href, in questa pagina il referer con alcuni browser arriva, con altri no, perchè?

    La funzione che uso è questa:

    codice:
    <script language=javascript> 
     
    	function confirmChoice(link,message) {
    		var c = window.confirm(message + '?');
    		if (c) location.href=link;
    	}
     
    </script>
    che chiamo con:
    <a href="javascript:confirmChoice('http://www.sito.com/index.php?option=users&view=delete&userid=1','Conf ermi l\'eliminazione');" title="">

    Info?

    dettagli:

    FF: Ok!
    GC: Ok!
    IE8: NO!!
    Ciao!

  2. #2
    io farei:

    <a href="#" onclick="confirmChoice('http://www.sito.com/index.php?option=users&view=delete&userid=1','Conf ermi l'eliminazione');" title="">
    I DON'T Double Click!

  3. #3
    si...
    ma non risolve il mio problema del referer.

    a proposito, la differenza tra i due sistemi di mettere l'evento javascript?
    Ciao!

  4. #4
    Allora, non avevo letto bene: http://webbugtrack.blogspot.com/2008...p-referer.html

    La differenza è che, beh, il primo non è un evento, tu esegui un'istruzione JS al posto di reindirizzare la pagina, io preferisco sempre usare gli eventi (tra l'altro applicandoli con la notazione DOM1 o DOM2) perché è più pratico associare una funzione che un'istruzione, inoltre ti lascia maggior spazio di azione, anche se volessi bloccare l'esecuzione del link e la propagazione dell'evento stesso.

    Quello che fai tu di solito si ottiene più facilmente (e tra l'altro credo che risolva anche il problema del Referrer) facendo:

    codice:
    <a href = "http://www.sito.com/index.php?option=users&view=delete&userid=1" onclick = "return confirm('Confermi l'eliminazione?')"> 
       Cancella 
    </a>
    I DON'T Double Click!

  5. #5
    Cosi va alla pagina anche se clicchi annulla.
    Ciao!

  6. #6
    La soluzione postata risolve con IE, ma non funziona più su chrome.


    Leggete i commenti nel codice.

    codice:
    <script language=javascript>
    
    	var isOpera, isIE = false;
    	if(typeof(window.opera) != 'undefined'){isOpera = true;} ## MODIFICATO ANCHE != con ==, ALLA FINE isIE è SEMPRE TRUE
    	if(!isOpera && navigator.userAgent.indexOf('Internet Explorer')){isIE = true;}
    	
    	function confirmChoice(link,message)
    	{
    		var c = window.confirm(message + '?');
    		if (c) location.href=link;
    	}
    	
    	//re-define for IE
    	if(isIE)
    	{
    
    		window.alert("IE"); # LO MOSTRA SEMPRE !! 
    
    		function confirmChoice(link, message)
    	  	{
    	    	var referLink = document.createElement('a');
    	    	referLink.href = link;
    	    	document.body.appendChild(referLink);
    	    	var c = window.confirm(message + '?');
    	    	if (c) referLink.click();
    		}
    	}
    Ciao!

  7. #7
    mancava uno \ :

    codice:
    <a href = "http://www.sito.com/index.php?option=users&view=delete&userid=1" onclick = "return confirm('Confermi l\\'eliminazione?')"> 
       Cancella 
    </a>
    I DON'T Double Click!

  8. #8
    Non era lo slash... io l'ho messo, e che anche se clicchi annulla poi il link parte.
    Ciao!

  9. #9
    L'errore era dovuto alla mancanza del return false.

    codice:
    <a href = "http://www.sito.com/index.php?option=users&view=delete&userid=1" onclick = "return confirm('Confermi l'eliminazione?'); return false;"> 
       Cancella 
    </a>



    Grazie.
    Ciao!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.