Heim >Web-Frontend >js-Tutorial >Die JQuery-Erweiterung verwendet die Methode $.browser

Die JQuery-Erweiterung verwendet die Methode $.browser

巴扎黑
巴扎黑Original
2017-07-08 10:00:531889Durchsuche

Aufgrund von jquery 1.9.0 oder höher hat jquery die Unterstützung für $.browser entfernt und verwendet die $.Unterstützung, um den Browsertyp zu bestimmen. Infolgedessen meldeten viele frühere Plug-Ins Fehler

„Uncaught TypeError: Cannot read property 'msie' of undefined“.

Es gibt viele online. Die Lösung ist:

Bestimmen Sie den Browsertyp:

<span style="white-space:pre">	</span>$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
	$.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
	$.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
	$.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());



-Ausdruck nach dem >-Zeichen gibt „true/false“ zurück, was direkt zum Ersetzen des ursprünglichen $.browser.msie usw. verwendet werden kann.


Überprüfen Sie, ob es IE6 ist:
// Alt

<span style="white-space:pre">	</span>if ($.browser.msie && 7 > $.browser.version) {}

// Neu

<span style="white-space:pre">	</span>if (&#39;undefined&#39; == typeof(document.body.style.maxHeight)) {}

Überprüfen Sie, ob es sich um IE 6-8 handelt:

<span style="white-space:pre">	</span>if (!$.support.leadingWhitespace) {}
********************************************* ******* ***************************

Die Idee, die wir unten übernehmen, ist die Verwendung von

Vererbung-Mechanismus Die jquery 1.11.1-Version wurde um die Unterstützung der $.browser-Methode erweitert, wodurch der Zweck der Kompatibilität mit früheren Komponenten erreicht wurde.

jQuery.extend({
	browser: function() 
	{
		var
	    rwebkit = /(webkit)\/([\w.]+)/,
	    ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
	    rmsie = /(msie) ([\w.]+)/,
	    rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,    
	    browser = {},
	    ua = window.navigator.userAgent,
	    browserMatch = uaMatch(ua);

	    if (browserMatch.browser) {
	        browser[browserMatch.browser] = true;
	        browser.version = browserMatch.version;
	    }
	    return { browser: browser };
	},
});

function uaMatch(ua) 
{
        ua = ua.toLowerCase();

        var match = rwebkit.exec(ua)
                    || ropera.exec(ua)
                    || rmsie.exec(ua)
                    || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)
                    || [];

        return {
            browser : match[1] || "",
            version : match[2] || "0"
        };
}
Speichern Sie den obigen Code in jquery -

browser.js und verwenden Sie es.



Das obige ist der detaillierte Inhalt vonDie JQuery-Erweiterung verwendet die Methode $.browser. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn