Wenn Sie den Browser, den Sie gerade arbeiten erkennen wollen, hat IE eine Besonderheit, die so genannte bedingte Kompilierung - http://www.javascriptkit.com/javatutors/conditionalcompile.shtml
die Version zu erhalten, Sie @_jscript_version
verwenden würde. So in Javascript, würde ich verwenden:
<script type="text/javascript">
var isIE10 = false;
/*@cc_on
if (/^10/.test(@_jscript_version)) {
isIE10 = true;
}
@*/
console.log(isIE10);
</script>
ich IE10 nicht haben, aber wenn sie mit IE9 testen, scheint es zu funktionieren. Wenn ich den Browser-Modus auf 7 oder 8 ändere, hat 10 die wahre Browser-JScript-Version (in meinem Fall bleibt es 9
). Um die Liste der JScript-Versionen zu sehen, können Sie sie hier sehen - http://en.wikipedia.org/wiki/JScript#Versions. Es listet IE10 nicht auf, aber ich würde annehmen, dass es 10 ist. Vor IE9 verwendeten sie Zahlen, die nicht mit der Browserversion übereinstimmten, aber sie sind möglicherweise auf dem richtigen Weg seit 9. Sie müssen sehen, was @_jscript_version
standardmäßig für 10 ist , aber ich nehme an, dass es mit "10" beginnt und möglicherweise eine Nebenversion hat.
UPDATE:
Um minification Kommentare zu vermeiden, können Sie so etwas wie: aus internen Werte von
var IE = (function() {
"use strict";
var ret, isTheBrowser,
actualVersion,
jscriptMap, jscriptVersion;
isTheBrowser = false;
jscriptMap = {
"5.5": "5.5",
"5.6": "6",
"5.7": "7",
"5.8": "8",
"9": "9",
"10": "10"
};
jscriptVersion = new Function("/*@cc_on return @_jscript_version; @*/")();
if (jscriptVersion !== undefined) {
isTheBrowser = true;
actualVersion = jscriptMap[jscriptVersion];
}
ret = {
isTheBrowser: isTheBrowser,
actualVersion: actualVersion
};
return ret;
}());
und Zugriff auf die Eigenschaften wie IE.isTheBrowser
und IE.actualVersion
(das heißt übersetzt: JScript-Versionen).
Was genau ist der "Browser-Fehler", den Sie zu mildern versuchen? – Ian
Ich bin mir nicht sicher, ob das Ändern des Browsermodus die internen Variablen ändert, aber Sie könnten die bedingte Kompilierung verwenden und checken '@ _jscript_version' beginnt mit" 10 "(Hauptversion). – Ian
In bestimmten Szenarien decken Flash-Teile nicht den gesamten Containerbereich ab, sie sind 1px schmaler. Können Sie Ihre Lösung ausarbeiten, es riecht nicht nach einer js Lösung. – gztomas