Der folgende Code wird unter IE8 ausgeführt und übergeben. In IE9 ist ein Fehler aufgetreten: Kopieren Sie den Code wie folgt:
document.createelement ('<iframe id = "yige-org-iframe" src = "yige.org.Logo.gif" style = "Position: absolut; top: 0; links: 0; width: 1px; Höhe: 1px; Sichtbarkeit: Hidden;"> </iframe>');
Fehleraufforderung: Ausnahme: Skript5022: DOM -Ausnahme: Invalid_character_err (5)
Ideenanalyse:
Schritt 1: kompatibel mit IE9, Firefox, Oper, Safari und anderen Browsern;
Die Codekopie lautet wie folgt: var iframe = document.createelement ("iframe");
Iframe.SetAttribute ("id", "yui-history-unframe");
iframe.setAttribute ("src", "../../images/defaults/travarent-pixel.gif");
Iframe.SetAttribute ("Stil", "Position: absolut; oben: 0; links: 0; Breite: 1px; Höhe: 1px; Sichtbarkeit: versteckt;");
Schritt 2: kompatibel mit IE6-8: Da IE6-8 das Namensattribut des IFrame nicht ändern kann
Die Codekopie lautet wie folgt:
var oframe = isie? document.createelement ("<iframe name =/" " + this._framename +"/">"): document.createelement ("iframe");
Oframe.Name = "iframname";
Umfassende Lösung:
Die Codekopie lautet wie folgt:
var isie = (document.all)? wahr: falsch; // Hier ist nur ein einfaches Urteil, ob es sich um dh ist. Ausführliches Browserurteil: Weitere Informationen finden Sie in der Erkennung von Browsertypen
var ua = navigator.useragent.tolowerCase (). Übereinstimmung (/msie ([/d.] +)/) [1];
if (ua == "9.0") {
isie = false;
}
var oframe = isie? document.createelement ("<iframe name = /" " + this._framename +" / ">"): document.createelement ("iframe"); OFrame.name = "iframename";
// ================================================================== ======================================================================
Funktion ajaxpost (formID, showid, waitid, showIdClass, submitBtn, Rückruf) {
var waitid = typeof waitid == 'undefined' || Waitid === NULL? ShowID: (Waitid! == ''? Waitid: '');
var showIdClass =! showIdClass? '': ShowIDClass;
var ajaxframeid = 'ajaxframe';
var ajaxframe = $ (ajaxframeid);
var formTarget = $ (förmID) .Target;
var Handleresult = function () {
var s = '';
var bewertet = false;
showing ('keine');
versuchen {
s = $ (ajaxframeid) .ContentWindow.document.xmldocument.text;
} catch (e) {
versuchen {
S = $ (ajaxframeid) .ContentWindow.Document.DocumentElement.Firstchild.Wholetext;
} catch (e) {
versuchen {
S = $ (ajaxframeid) .ContentWindow.Document.DocumentElement.Firstchild.nodeValue;
} catch (e) {
S = 'interner Fehler kann diesen Inhalt nicht anzeigen';
}
}
}
if (s! = '' && S.Indexof ('ajaxError')! = -1) {
Evalskript (en);
bewertet = wahr;
}
if (showIdClass) {
$ (showID) .className = showIdClass;
if (subjektb) {
subictedBtn.DISABED = false;
}
}
if (! evaled && (typeof ajaxError == 'undefined' ||! AjaxError)) {
Ajaxinnerhtml ($ (ShowID), s);
}
ajaxError = null;
if ($ ($ (formID)) $ (förmID) .Target = formTarget;
if (typeof recus == 'Funktion') {
abrufen();
} anders {
Eval (Rückruf);
}
if (! bewertet) evalscript (s);
ajaxframe.loading = 0;
$ ('append_parent'). removeChild (ajaxframe);
};
if (! ajaxframe) {
versuchen {
ajaxframe = document.createelement ('<iframe name = "' + ajaxframeid + '" id = "' + ajaxframeid + '"> </iframe>');
} catch (e) {
ajaxframe = document.createelement ('iframe');
ajaxframe.name = ajaxframeid;
ajaxframe.id = ajaxframeid;
}
ajaxframe.Style.display = 'none';
ajaxframe.loading = 1;
$ ('append_parent'). appendChild (ajaxframe);
} else if (ajaxframe.loading) {
false zurückgeben;
}
_attachevent (ajaxframe, 'last', Handleresult);
showinging ();
$ (formID) .Target = ajaxframeid;
$ (formID) .Action += '& inajax = 1';
$ (formid) .submit ();
false zurückgeben;
}