Wenn Sie den Dialogfluss von Firefox entwerfen, planen Sie, Popup-Dialogfelder zu verwenden, um Seiten hinzuzufügen und Seiten zu ändern. Wenn die Hinzufügung und Änderung abgeschlossen sind, klicken Sie auf das Dialogfeld Senden, um sie zu schließen, und aktualisieren Sie das Listenfenster. Im Folgenden finden Sie den Herausgeber des falschen neuen Technologiekanals, um Ihnen beizubringen, wie Sie ein geeignetes Firefox -Dialogfeld schreiben. Gehen wir zum folgenden Artikel, um mehr zu erfahren!
Während des tatsächlichen Betriebs trat jedoch ein Problem auf. Die Dialogfeld -Technologie des IE unterstützt Firefox nicht. Wie können wir ein Dialogfeld erreichen, das sowohl IE als auch Firefox unterstützt?
Glücklicherweise habe ich gestern Tinymce studiert, und es gibt Dialogboxen, die Firefox unterstützen.
Ich habe die Methode geschrieben, um das Dialogfeld zu öffnen:
Funktion popupdialog (URL, Breite, Höhe) {
// showx = event.screenx - event.OffsetX - 4 - 10; // + deltax; Dieser Code gilt nur für den IE und wird nicht mehr verwendet
// Showy = event.screeny - event.offsety -168; // + Deltay; Dieser Code gilt nur für den IE und wird nicht mehr verwendet
var x = parseInt (screen.width/2.0) - (width/2.0);
var y = parseInt (screen.height / 2.0) - (Höhe / 2.0);
var ismsie = (Navigator.Appname == "Microsoft Internet Explorer"); // Richter Browser
if (ismsie) {
retval = window.showModaldialog (URL, Fenster, "Dialogwidth:"+width+"px; dialogHeight:"+Höhe+"px; Dialogleft:"+x+"px; dialogTop:"+y+"px; Status: nein; Verzeichnisse: Ja; Scrollbars: no; no;
} anders {
var win = window.open (url, "mcepopup", "top =" + y + ", links =" + x + ", scrollbars =" + scrollbars + ", Dialog = yes, modal = yes, width =" + width + ", height =" + height + ", resicable = no");
eval ('try {Win.Resizeto (Breite, Höhe);} catch (e) {}');
win.focus ();
}
}
In dem geöffneten Dialogfeld habe ich die Seite der oberen und unteren Rahmenabteilung verwendet, da im IE das Dialogfeld nicht eingereicht werden kann, aber nachdem es in Frames unterteilt ist, kann es eingereicht werden.
Fügen Sie auf der eingereichten Schaltfläche diesen Code hinzu:
Funktion doreload () {
var ismsie = (Navigator.Appname == "Microsoft Internet Explorer");
if (ismsie) {
parent.dialogargumente.location.reload ();
}anders{
parent.opener.document.location.reload ();
}
top.close ();
}
Die Art und Weise, wie die beiden Browser Dialogfelder öffnen, ist unterschiedlich
IE: window.showmodaldialog (URL, Fenster, "Dialogwidth: 300px; DialogHeight: 300px; Dialogleft: 200px; DialogTop: 200px; Status: Nein; Verzeichnisse: Ja; Scrollbars: nein; resizierbar = nein;");
Firefox: window.open (URL, "MCEPOPUP", "TOP = 200, links = 200, Scrollbars = Nein, Dialog = Ja, modal = yes, width = 300, Höhe = 300, resizierbar = nein");
Beim Schließen des Fensters:
IE: Parent.Dialogarguments.location.reload ();
Firefox: parent.opener.document.location.reload ();
Es gibt noch einen sehr wichtigen Punkt, auf den man achten muss. Firefox scheint kein Fenster zu unterstützen.
Daher ist die letzte Verwendung des Schließenfensters oben.CLOSE (); Sowohl IE als auch Firefox -Unterstützung.
Das obige ist ein Dialogfeld, in dem Sie ein geeignetes Firefox schreiben. Für weitere Inhalte achten Sie bitte weiterhin auf andere verwandte Artikel über den falschen neuen Technologiekanal!