errore Javascript quando si tenta di aprire una finestra modale in una finestra modale

StackOverflow https://stackoverflow.com/questions/2646561

  •  27-09-2019
  •  | 
  •  

Domanda

L'applicazione è in esecuzione su una macchina Windows Server 2003 utilizzando asp.net 2.0 ed è una specifica applicazione web IE. C'è un pulsante che apre un modulo in un iframe utilizzando showModalDialog (...) da una chiamata di funzione si trova nella JavaScript.

Ecco un esempio della funzione:

    function ShowBusinessHoursSubForm( source )
{
    var retval = window.showModalDialog("htm/" + locLocaleID + "/SubFormHostFrame.htm", source, "dialogWidth:265px;dialogHeight:261px;help:no;scroll:no;status:no;");

}

Il telaio ospitante sta caricando una pagina aspx che contiene la forma effettiva che viene utilizzato. Nel modulo che si apre è presente un pulsante che, se cliccato, sottomette cambiato al form. Tuttavia, se non modificata sono state fatte prima che il modulo è stato presentato, un'altra finestra modale si apre affermando che non ci sono stati modificati per la forma. Questa finestra modale si apre attraverso la registrazione di alcuni JavaScript in caso pulsante di scatto. Il codice è il seguente (C #):

string l_S_ErrorScript = "<script type='text/javascript' language='javascript'>window.showModalDialog('htm/" + l_S_Culture + "/NotChangedErrorDialog.htm', '../../" + l_S_SkinPath + "', 'dialogWidth:310px;dialogHeight:145px;scroll:no;help:no;status:no;');</script>";

if(!m_Page.ClientScript.IsStartupScriptRegistered("ErrorScript"))
        {
            m_Page.ClientScript.RegisterStartupScript(this.GetType(), "ErrorScript", l_S_ErrorScript);
        }

Quando si fa clic sul pulsante e questo dialogo ha bisogno di apparire appare il seguente errore JavaScript:

  

Errore: L'oggetto non supporta questa proprietà o metodo

La cosa strana è, se accedo l'applicazione a livello locale e provare tutto funziona bene, ma l'accesso da un altro computer ha generato l'errore. Inoltre, a seconda quale server (abbiamo molti server per testare il tutto con Windows Server 2003) l'errore non può verificarsi su un altro computer sia. Questi computer eseguono la stessa versione del software utilizzando la stessa versione di IE con le stesse impostazioni. Sono propenso a credere che ci sia qualche problema di configurazione da qualche parte, ma con le impostazioni è lo stesso che è difficile da raccontare. Non posso davvero cambiare come funziona l'applicazione o le tecnologie utilizzate sia.

Qualcuno ha qualche idea su cosa potrebbe essere la causa?

È stato utile?

Soluzione

Il problema è stato con il blocco popup in IE sulla macchina client. Dal momento che la finestra modale veniva aperto in un'altra finestra modale, il blocco popup non ha ritenuto parte del genitore e pensa che dovrebbe bloccarlo. Dopo aver aggiunto il sito per il tutto il blocco dei popup funzionato.

Come ridicolo!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top