Heim > Artikel > Web-Frontend > JS-Skript, das mit dem Firefox-Browser kompatibel ist
Ich habe kürzlich an einem Projekt gearbeitet und bin auf das Problem der Inkompatibilität zwischen FireFox- und IE-Skripten gestoßen. Zu diesem Zweck habe ich einige kompatible Skripte aus dem Internet gesammelt, die ich ursprünglich selbst geschrieben habe Ich kopiere sie jetzt als Referenz
1. window.event-kompatibles Skript
3 . Ereigniskompatibles Schreiben hinzufügen
5. Firefox-Registrierungs-InnerText-Schreibmethode
7. Untergeordnete Steuerelemente unter der übergeordneten Steuerung
8. kompatibel mit IE- und FF-Schreibmethoden
if(document.all) return window.event;
func=getEvent.caller;
while(func !=null){
if(arg0){
if((arg0.constructor==Event arg0.constructor ==MouseEvent)(typeof (arg0)=="object" %26amp;%26amp; arg0.preventDefault %26amp;%26amp; arg0.stopPropagation)){
return arg0;}
return null; >}
Vor der Verwendung eines Ereignisses muss Firefox jedes Mal getEvent() verwenden, um es abzurufen, andernfalls ist es leer
2. Shield Form Submit event
Ereignis .returnValue=false;// für IE
evt.preventDefault();//für Firefox
3. Holen Sie sich die Ereignisquelle
var source=event.srcElement / /IE
if (oElement.attachEvent){
oElement.attachEvent(sEvent,func>}else{
sEvent=sEvent.substring(2,sEvent.length); sEvent,func,false);}
}Verwendung addEvent(window,"onload",Start);5.Firefox-Registrierung innerText-Schreibmethode //Firefox innerText registrierenHTMLElement.prototype.__defineGetter__("innerText",
function(){
var anyString = "";
var childS = this. childNodes;
for (var i=0; i if(childS[i].nodeType==1)
anyString += childS[i].tagName=="BR" ? 'n' : childS[i ].innerText;
else if(childS[i].nodeType==3)
anyString += childS[i].nodeValue;
return anyString;
function(sText){
this.textContent=sText;}
);
6. Länge Die Länge von Firefox muss sein mit „px“ hinzugefügt, IE spielt keine Rolle
7. Der untergeordnete Kontroll-IE unter der übergeordneten Kontrolle ist „children“, FireFox ist „childNodes“
8.XmlHttp
Im IE kann der Inhalt der Methode XmlHttp.send(content) leer sein, aber in Firefox darf er nicht leer sein. Send(" ") sollte verwendet werden, sonst tritt ein 411-Fehler auf
Weitere Informationen Verwandte Artikel, bitte beachten Sie die chinesische PHP-Website (www.php.cn)!