Javascript erreur lorsque vous tentez d'ouvrir une fenêtre modale dans une fenêtre modale

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

  •  27-09-2019
  •  | 
  •  

Question

L'application est en cours d'exécution sur un serveur de fenêtres case 2003 en utilisant asp.net 2.0 et est une application Web spécifique IE. Il y a un bouton qui ouvre un formulaire dans un iframe en utilisant showModalDialog (...) à partir d'un appel de fonction situé dans le JavaScript.

Voici un exemple de la fonction:

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

}

Le cadre de l'hôte est le chargement d'une page aspx qui contient la forme réelle qui est utilisée. Sur le formulaire qui est ouvert il y a un bouton qui, lorsque vous cliquez dessus, SUGGERE changé la forme. Toutefois, si aucun changement a été fait avant que le formulaire a été soumis, une autre fenêtre modale apparaît indiquant qu'il n'y avait pas changé la forme. Cette fenêtre modale est ouverte par l'enregistrement de certains JavaScript sur le bouton événement click. Le code est le suivant (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);
        }

Lorsque le bouton est cliqué et il faut dialogue afficher l'erreur JavaScript suivant apparaît:

  

Erreur: objet ne prend pas en charge cette propriété ou méthode

La chose étrange est, si j'accéder à l'application au niveau local et essayer tout fonctionne très bien, mais l'accès à partir d'un autre ordinateur provoque l'erreur. En outre, selon ce serveur (nous avons beaucoup de serveurs pour tester tous avec Windows Server 2003), l'erreur ne peut se produire sur un autre ordinateur non plus. Ces ordinateurs exécutent la même version du logiciel en utilisant la même version de IE avec les mêmes paramètres. Je suis enclin à croire qu'il ya quelque part un peu de problème de configuration, mais avec les paramètres étant le même, il est difficile de dire. Je ne peux pas vraiment changer le fonctionnement d'applications ou les technologies utilisées soit.

Quelqu'un a des idées quant à ce qui pourrait être la cause?

Était-ce utile?

La solution

La question était avec le bloqueur de pop-up dans IE sur la machine cliente. Depuis la fenêtre modale était ouvert dans une autre fenêtre modale, le bloqueur de pop-up n'a pas jugé partie du parent et pense qu'il devrait bloquer. Après avoir ajouté le site à tout bloqueur de pop-up travaillé.

Comment ridicule!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top