Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 15529|Antwort: 1

[Bootstrap] Workaround, um IE6, IE7, IE8, IE9, IE10, IE11 Bootstrap unterstützen zu lassen

[Link kopieren]
Veröffentlicht am 03.08.2016 22:55:23 | | |

Falls es eine Ähnlichkeit gibt, fühle ich mich geehrt. Wenn es nachgedruckt wird, geben Sie bitte an.
Workaround, um IE6, IE7, IE8, IE9, IE10, IE11 Bootstrap unterstützen zu lassen

Ich habe kürzlich eine Webseite erstellt. Ich habe immer das Gefühl gefunden, dass Bootstrap sehr gut ist. Diesmal habe ich Bootstrap3, Chrome, Firefox, Safari, Opera, 360 Browser (Geschwindigkeitsmodus), Sogou-Browser und andere Browser ohne Probleme verwendet. Und unter IE8 und IE11 konnte der Stil nicht angezeigt werden. Dann haben verschiedene Baidu das Problem schließlich mit Hilfe eines Internetnutzer-Beitrags auf Yapeng.com gelöst. Siehe auch Qianxun Learning Network. Die Lösung lässt sich wie folgt zusammenfassen:


Stellen Sie zunächst sicher, dass Ihre HTML-Seite mit einer DOCTYPE-Deklaration beginnt. DOCTYPE teilt dem Browser mit, welche HTML- oder XHTML-Spezifikation zum Parsen eines HTML-Dokuments verwendet werden soll, was die folgenden Faktoren beeinflusst:
Einschränkungen für Tags, Attribute und Eigenschaften
Beeinflusst den Rendering-Modus des Browsers, und verschiedene Rendering-Modi beeinflussen das Parsen von CSS-Code und sogar Javascrip{filter}t-Skripten im Browser
DOCTYPE ist entscheidend, und die aktuelle Best Practice ist, in die erste Zeile des HTML-Dokuments zu tippen:
<!DOCTYPE html>


Es gibt mehrere Gründe, Bootstrap zu finden, die im Beitrag des Gottes zusammengefasst werden; zunächst wurde Bootstrap3 zunächst nach dem Prinzip des mobilen Geräts entwickelt, daher können die Gründe wie folgt sein:
1. Die entfernte Adresse wird nicht korrekt aufgerufen
Das heißt, solange es IE9 oder niedriger ist, rufen Sie zwei spezielle js auf
<!-- Unterstützung von HTML5 Shim und Respond.js IE8 für HTML5-Elemente und Medienabfragen -->
<!--[wenn Lt IE 9]>
  <scrip{filter}t src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></scrip{filter}t>
  <scrip{filter}t src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></scrip{filter}t>
<![Endif]-->
Aber ich habe getestet und festgestellt, dass es nicht machbar ist, nur die oben genannten JS-Dateien zu verwenden.
2. Die Aufrufmethode ist falsch
Beziehen Sie sich nicht auf respond.min.js-, respond.js- oder CSS-Dateien in file:// oder @import Form


3. Identifizierung des Inhalts des Browsers (Verwendung von Meta-Tags, um die Rendering-Methode des Browsers anzupassen)
Der Bootstrap unterstützt keinen IE-Kompatibilitätsmodus, und damit IE den neuesten Rendering-Modus ausführen kann, werden folgende Tags zur Seite hinzugefügt

IE=edge bedeutet, dass der neueste IE-Kernel erzwungen ist, und chrome=1 bedeutet, dass, wenn das Browser-Plug-in Google Chrome Frame für IE6/7/8 und andere Versionen installiert ist (was den Browser des Nutzers weiterhin wie IEs Menü und Oberfläche aussehen lassen kann, der Nutzer aber tatsächlich den Chrome-Browser-Kernel beim Websurfen verwendet), dann wird der Chrome-Kernel zum Rendern verwendet. Für eine spezifische Erklärung dieses Meta-Tags siehe die großartige Antwort auf StackOverflow, und die <meta>englische Erklärung des Tag-Experten findest du hier
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
Ich fügte hinzu
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Und dann hast du es
Der Kernel steuert das Meta-Tag, da die aktuellen Mainstream-Browser in China Dual-Kernel sind, daher wird das Meta-Tag hinzugefügt, um dem Browser zu sagen, welchen Kernel zur Renderung der Seite verwendet werden soll


4. IE8 unterstützt mehrere Eigenschaften von Containern nicht
IE8 unterstützt die Boxgröße nicht vollständig: Border-Box wird mit Min-Width, Max-Width, Min-Height oder Max-Height verwendet. Daher verwendet die Container-Klasse in Bootstrap v3.0.1 Max-Width nicht mehr.


5.JS Problem, das durch die Reihenfolge verursacht wird, in der CSS eingeführt wird
Man muss CSS zitieren, bevor man JS referenzieren kann
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" media="screen"/>
<scrip{filter}t type="text/javascrip{filter}t" src="js/respond.min.js"></scrip{filter}t>


6. DOCTYPE hat leere Zeilen davor und danach
<!DOCTYPE html>
Es ist nicht in Ordnung, hier Leerzeichen zu haben, du musst die Leerzeichen entfernen
<html>


7. Du kannst die bootstrap.css auch manuell modifizieren
Wenn Sie Bootstrap 2.1.1 verwenden, kann das Modifikation von navbar-inner{ filter:none} das Problem lösen. Wenn Sie Version 3.0+ verwenden, gibt es keinen Code, siehe bitte die Verbindung für Details
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8


8. Nutzen Sie den Quirks-Modus
Bei der Definition einer Webseite ist der Abwärtsmodus mit älteren Browsern der Quirks-Modus, und der entsprechende "Standardmodus" ist der Standardmodus. Genauer gesagt wird <!DOCTYPE html> wie zuvor geschrieben
<!DOCTYPE HTML ÖFFENTLICH "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Ich habe das getestet, aber es ist nicht machbar


Schließlich habe ich unter IE11 getestet, aber unter IE8 und ein Problem gefunden, dass Platzhalter nicht unterstützt wird
So löst man IEs Unterstützung für Platzhalter
Das in diesem Artikel erwähnte jquery wird in 1.11.1 getestet, und jquery wird zuerst referenziert
<scrip{filter}t type="text/javascrip{filter}t" src="http://code.jquery.com/jquery-1.11.1.min.js"></scrip{filter}t>
Du kannst auch andere jquery-Versionen verwenden
Dann führen Sie <scrip{filter}t type="text/javascrip{filter}t" src="js/jquery.placeholder.js"></scrip{filter}t ein>
jquery.placeholder.js Download-Adresse für diese Datei https://github.com/mathiasbynens/jquery-placeholder
Dann fügen Sie etwas Code zur Datei hinzu
<scrip{filter}t type="text/javascrip{filter}t">
    $(Funktion () {
        Aufrufe das Plugin
        $('Eingabe, Textbereich').platzhalter();
    });
</scrip{filter}t>
Falls ich hier beteiligt bin oder das Problem noch nicht gelöst ist, bitte http://hustlzp.com/post/2014/01/ie8-compatibility weitere Details weitergeben


Die oben genannten IE6, 7, 8, 9, 10, 11, Chrome, Firefox, Safari, Opera, 360 Browser (Geschwindigkeitsmodus), Sogou Browser Test bestanden, nur IE5.5 scheint nicht machbar zu sein, kurz gesagt, das Problem ist hier gelöst, alles böse IE6 – nenn es Sojasauce


Wenn Sie jquery.placeholder.js nicht verwenden möchten, können Sie keine Platzhalter-Emulationsimplementierungen mehr in Browsern unterstützen
Sie können diesen Artikel für eine sehr detaillierte http://ju.outofmemory.cn/entry/1595




Vorhergehend:Winform lädt das entfernte Bild herunter und zeigt es an
Nächster:Einige Ausnahmen im Nhibernate unter Mono-Argument können nicht null sein
 Vermieter| Veröffentlicht am 03.08.2016 23:05:15 |
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com