Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 15529|Risposta: 1

[Bootstrap] Soluzione alternativa per supportare IE6 IE7 IE8 IE9 IE10 IE11 Bootstrap

[Copiato link]
Pubblicato su 03/08/2016 22:55:23 | | |

Se c'è una somiglianza, sono onorato; se viene ristampato, vi prego di indicarlo
Soluzione alternativa per supportare IE6 IE7 IE8 IE9 IE10 IE11 Bootstrap

Ho creato recentemente un sito web, ho sempre pensato che Bootstrap fosse molto valido. Questa volta ho usato bootstrap3, Chrome, Firefox, Safari, Opera, il browser 360 (modalità velocità), il browser Sogou e altri browser non hanno avuto problemi. E sotto IE8 e IE11 ho scoperto che lo stile non poteva essere visualizzato, poi vari Baidu, infine, con l'aiuto di un post di utenti su Yapeng.com risolto il problema, riferisci anche Qianxun Learning Network La soluzione è riassunta come segue:


Per prima cosa, assicurati che la tua pagina HTML inizi con una dichiarazione DOCTYPE. DOCTYPE indica al browser quale specifica HTML o XHTML utilizzare per analizzare un documento HTML, il che influisce sui seguenti fattori:
Vincoli su attributi e proprietà dei tag
Influisce sulla modalità di rendering del browser, e diverse modalità di rendering influenzano l'analisi del codice CSS e persino degli script Javascrip{filter}t
DOCTYPE è fondamentale, e la buona pratica attuale è digitare sulla prima riga del documento HTML:
<!DOCTYPE html>


Ci sono diverse ragioni per trovare bootstrap riassunte nel post del dio; innanzitutto, Bootstrap3 è stato sviluppato sul principio del dispositivo mobile prima, quindi le ragioni possono essere le seguenti:
1. L'indirizzo remoto non viene chiamato correttamente
Cioè, finché è IE9 o inferiore, chiama due j speciali
<!-- supporto HTML5 Shim e Respond.js IE8 per elementi HTML5 e query media -->
<!--[se 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]-->
Ma ho testato e ho scoperto che usare solo i file js sopra non è fattibile,
2. Il metodo di chiamata è errato
Non fare riferimento a respond.min.js, respond.js o CSS in file:// o @import modulo


3. Identificare il contenuto del browser (usando meta tag per regolare il metodo di rendering del browser)
Il bootstrap non supporta la modalità di compatibilità IE e, affinché IE possa eseguire l'ultima modalità di rendering, verranno aggiunti i seguenti tag alla pagina

IE=edge significa che l'ultimo kernel IE è forzato, e chrome=1 significa che se il plug-in del browser Google Chrome Frame per IE6/7/8 e altre versioni è installato (che può far sembrare il browser dell'utente ancora il menu e l'interfaccia di IE, ma l'utente in realtà utilizza il kernel del browser Chrome mentre naviga sul web), allora il kernel Chrome viene usato per renderizzare. Per una spiegazione specifica di questo meta tag, vedi la grande risposta su StackOverflow, e la <meta>spiegazione in inglese del tag expert si trova qui
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
Ho aggiunto
<meta http-equiv="X-UA-Compatible" content="IE=9" />
E poi ecco che ci si va
Il kernel controlla il meta tag, perché i browser mainstream attuali in Cina sono dual kernel, quindi il meta tag viene aggiunto per indicare al browser quale kernel usare per renderizzare la pagina


4. IE8 non supporta diverse proprietà dei container
IE8 non supporta completamente la dimensione delle scatole: la scatola di bordo viene usata con larghezza minima, larghezza massima, altezza minima o altezza massima. Pertanto, la classe container in bootstrap v3.0.1 non utilizza più la larghezza massima.


5.JS problema causato dall'ordine in cui il CSS viene introdotto
Devi citare CSS prima di fare riferimento a JS
<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 ha righe vuote prima e dopo
<!DOCTYPE html>
Non va bene avere spazi qui, devi rimuovere gli spazi
<html>


7. Puoi anche modificare manualmente il bootstrap.css
Se stai usando bootstrap 2.1.1, modificare navbar-inner{ filter:none} può risolvere il problema; se usi la versione 3.0+, non c'è codice, consulta la connessione per i dettagli
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8


8. Usa la modalità quirk
Quando si definisce una pagina web, la modalità retrocompatibile con browser più vecchi è la modalità quirks, mentre la corrispondente "modalità standard" è la modalità standard. In particolare, <!DOCTYPE html> è scritto come prima
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Ho testato questo, ma non è fattibile


Alla fine ho testato con IE11, ma ho testato con IE8 e ho riscontrato un problema che il segnaposto non è supportato
Ecco come risolvere il supporto di IE ai segnaposto
Il jquery citato in questo articolo è testato in 1.11.1, e jquery viene citata per primo
<scrip{filter}t type="text/javascrip{filter}t" src="http://code.jquery.com/jquery-1.11.1.min.js"></scrip{filter}t>
Puoi anche usare altre versioni di jquery
Poi introduci <scrip{filter}t type="text/javascrip{filter}t" src="js/jquery.placeholder.js"></scrip{filter}t>
jquery.placeholder.js indirizzo di download per questo file https://github.com/mathiasbynens/jquery-placeholder
Poi aggiungi un po' di codice al file
<scrip{filter}t type="text/javascrip{filter}t">
    $(funzione () {
        Invoca il plugin
        $('input, areatesto').segnaposto();
    });
</scrip{filter}t>
Se sono coinvolto qui o se il problema è ancora irrisolto, vi prego di http://hustlzp.com/post/2014/01/ie8-compatibility maggiori dettagli


I test sopra sopra come IE6, 7, 8, 9, 9, 10, 11, Chrome, Firefox, Safari, Opera, 360 browser (modalità velocità), test Sogou browser superato, solo IE5.5 sembra non fattibile, in breve, il problema è risolto qui, tutti i malvagi IE6 - chiamatelo salsa di soia


Se non vuoi usare jquery.placeholder.js, non puoi più supportare implementazioni di emulazione segnaposto nei browser
Puoi consultare questo articolo per un http://ju.outofmemory.cn/entry/1595 molto dettagliato




Precedente:Winform scarica l'immagine remota e la mostra
Prossimo:Alcune eccezioni in Nhibernate sotto l'argomento mono non possono essere nulle
 Padrone di casa| Pubblicato su 03/08/2016 23:05:15 |
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com