Étant donné que le système doit être compatible avec la méthode d'arrêt utilisée par l'origine IE, après le débogage et les tests, la fenêtre.Dialogarguments doit être testée à nouveau, sinon des problèmes peuvent survenir.
fonction okend (vals) {if (vals == null) vals = "true"; if (typeof (window.openner) == "Undefined") {if (typeof (window.dialogarguments)! = "Undefined") {if (window.dialogarguments && window.dialogarguments! = null) {window.opener = window.dialogargments; if (window.opener && window.opener! = null) {window.opener.returnvalue = vals; }}}} else {if (window.opener && window.oopener! = null) {window.openner.returnvalue = vals; }} window.returnvalue = vals; self.close ();}Pour la valeur de retour reçue, il vous suffit de vérifier l'ouvreur dans le mode de réception d'origine IE, comme suit:
// Sélectionnez Changer la fonction de département setOrganizEree2 () {var url = "PAPUP PAGE"; var ret = window.showmodaldialog (url, fenêtre, "DialogWidth = 400px; dialogHeight = 500px; status = non; help = non; scroll = oui; resizable = oui;"); if (typeof (ret) == "Undefined") {ret = window.reTurnValue; } if (ret) {document.getElementById ("HiddeptCode2"). Value = Ret; document.getElementById ("btndeptCodeadd"). Click (); } return false; }Solution parfaite au problème de compatibilité de la valeur de retour de la fenêtre modale JS
1. Lors de l'ouverture de la fenêtre contextuelle, passez la fenêtre comme deuxième paramètre.
var result = window.showmodaldialog (url, fenêtre, "dialogwidth =" + width + "px; dialogHeight =" + height + "px; resizable: oui;") if (typeof (result) == 'undefined') {result = window.returnvalue; } Retour Résultat;2. Dans la fenêtre contextuelle, exécutez le js suivant pour recevoir la fenêtre entrante
if (typeof (window.opener) == 'undefined') window.openner = window.dialogarguments;
3. Avant la fermeture de la fenêtre contextuelle, appelez l'affectation JS suivante pour renvoyer la valeur
window.retureValue = vals; if (window.opener && window.openner! = null) window.openner.returnvalue = vals; window.close ();
Discussion principale:
Sous Chrome, la méthode standard peut renvoyer la valeur lorsque la page contextuelle ne le publie pas. S'il y a un post-dos, la valeur de retour ne peut pas être renvoyée normalement. Cette méthode peut être résolue.
Des méthodes standard sous IE, parfois la valeur ne peut pas être retournée correctement pour des raisons inconnues, et cette méthode peut être résolue.
FF n'a pas été testé en détail, il ne devrait donc pas y avoir de gros problème.
La solution parfaite au problème de compatibilité de la valeur de rendement de la fenêtre modale JS ci-dessus est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.