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

    problema con popup se già aperta

    Ciao a tutti, all'apertura della home di un sito viene aperta una popunder per proporre l'iscrizione ad una newsletter, il codice è il seguente:

    codice:
    window.open('pagina.asp','finestra','width=490,height=400 ,toolbar=no, location=no,status=no,menubar=no,scrollbars=no,resizable=no');
    self.focus();
    in questo modo la popunder rimane sotto la home e non disturba l'utente che se ne accorge solo non appena abbandona il sito.

    Ora poichè al giorno d'oggi le popup e le popunder sono bloccate 99 su 100 ho creato una pagina interna al sito che presenta la newsletter dettagliatamente con un link che apre la popunder.

    in questo modo se la popunder viene bloccata e si clicca sul link nella pagina di presentazione la popunder si apre correttamente e sta in primo piano.

    Il problema è quando la popunder non viene bloccata: se clicco sul link la popunder essendo già aperta rimane in secondo piano e quindi il link non sembra funzionare.

    Spero di essere stato abbastanza chiaro :master:

    Come posso risolvere l'ultimo problema del 2005??

  2. #2
    Non ho provato concretamente, ma penso dovrebbe funzionare. In pratica, quando tu apri la finestra in automatico, invece di usare semplicemente window.open(), crea una variabile a cui assegni come valore la finestra che apri, in questo modo:

    codice:
    var popwin = window.open(.....);
    self.focus();
    Poi, al link che permette di aprire la popunder manualmente, assegni una funzione che controlla l'esistenza della variabile:

    codice:
    Apri popunder
    
    Codice della funzione JavaScript:
    
    function Controlla() {
    if (!popwin) {
    window.open(.....);
    }
    else {
    popwin.focus();
    }
    }
    Se la finestra si apre automaticamente perché non è bloccata (e quindi la variabile popwin esiste), quando si clicca sul link la finestra già esistente riceverà il focus. Se al contrario la popunder è bloccata, la funzione rileverà che la variabile popwin non esiste e quindi la aprirà con un normale window.open(). L'unica cosa di cui non sono sicuro, non avendo provato, è se bisogna per forza usare la parola chiave "var" o è possibile farne a meno. Se non erro (è un po' che non uso JavaScript), indicando una variabile esterna alle funzioni con var, questa è globale e può essere letta da tutte le funzioni esistenti, mentre senza "var" diventa "locale" e quindi le funzioni non possono leggerla. Al limite, fai qualche prova...

  3. #3
    Grazie del suggerimento, non appena provo ti faccio sapere come è andata....

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.