Ho una pagina Web che utilizza Twitter Bootstrap. Funziona bene con Chrome, Firefox e Safari. Tuttavia, quando provo a vederlo in Edge su Windows 10, ottengo un sacco di errori 403 che dicono che non è riuscito a caricare una manciata di .less file dal CDN Bootstrap. Perché vengono richiesti i file .less se il browser non può fare nulla con loro? Non sto usando MENO affatto, semplicemente CSS3, che sta benissimo. Come faccio a smettere?Perché Bootstrap tenta di caricare file MENO in Edge?
risposta
La buona notizia è che non sarà che interessano gli utenti regolari del sito. La cattiva notizia è che questo sta accadendo anche in Chrome in una certa misura, è solo che la scheda di rete in Chrome non segnala gli errori 403.
Nel file CSS che si collega a c'è una linea alla fine del file:
/*# sourceMappingURL=bootstrap.min.css.map */
Si tratta di mappe di origine e dà link a tutti i file di origine utilizzati per generare il CSS minified che è nel tuo browser.
Nel caso di bootstrap del CDN punta ai file che non esistono come http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/less/scaffolding.less
Il file di origine mappa verrà scaricato solo se si dispone di mappe di origine abilitati e gli strumenti dev aperta. Le impostazioni predefinite di Edge si basano su e, per quanto posso dire, non c'è modo di spegnerle (ma ricorda che questo accadrà solo quando gli strumenti di sviluppo sono aperti, ho confermato questo comportamento usando Fiddler), quindi quando si preme f12 allora è andando a cercare e recuperare i file mappati di origine. Chrome funziona in modo leggermente diverso, scaricherà la mappa di origine, ma non tenterà di scaricare il file .less fino a quando non sarai in grado di accedere al file sorgente.
Se uno dei file .less restituisce un 403 Risposta non consentita Edge lo segnala nella scheda di rete. Chrome dosen't.
Se si utilizza il debugger http come Fiddler, si vedrà che Chrome richiede effettivamente i file e riceve anche una risposta 403, tuttavia non la segnala nella scheda di rete. Quando si utilizza Fiddler per superare il problema con https, ho modificato il file CSS in modo che indicasse l'URL non https. ad esempio: http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css
La correzione per questo problema è quella di correggere i file che sono 403 nella mappa di origine. Ho sollevato un problema sul bootstrap maxcdn GitHub repro: https://github.com/MaxCDN/bootstrap-cdn/issues/629
Grazie Martin. Questo problema (n. 629) è stato risolto su GitHub. – jdorfman
Una correzione rapida potrebbe essere (sulla versione live del sito) per rinominare il file 'bootstrap.min.css.map' (ad esempio 'disabled-bootstrap.min.css.map') e inserire un file vuoto chiamato 'bootstrap' . min.css.map 'nella stessa cartella. Sembra una soluzione rapida e sporca nel mio caso. –
C'è un problema noto con MaxCDN stesso.(E CDNjs pure)
problemi registrato per riferimento:
https://github.com/MaxCDN/bootstrap-cdn/issues/671 - Questo problema è chiuso come duplicare
https://github.com/MaxCDN/bootstrap-cdn/issues/629 - noto bug
https://github.com/twbs/bootstrap/issues/19063 - questione aperta con Twitter bootstrap
CDN:
Per sourceMappingURL
che è bootstrap.min.css.map
per bootstrap file, qualsiasi file di estensione .less
(ad esempio this file) non riescono a caricare con lo stato HTTP 403
(vietato).
Chrome sta eliminando questo problema nella console degli sviluppatori, tuttavia Edge non lo è. Il problema quando si accede ai file .less è riproducibile accedendo al collegamento this.
Questo problema non è solo con MaxCDN, ma anche con CDNjs. I collegamenti per CDNjs sono this, this & this
- 1. Personalizzazione bootstrap: Perché dovrei usare MENO?
- 2. non può caricare tale file - bootstrap/Sass
- 3. Dove trovare i file di bootstrap twitter meno?
- 4. GWT tenta di caricare un modulo cancellato
- 5. Sovrascrittura Bootstrap MENO variabili dopo @import
- 6. Meno CSS "alias" con bootstrap + font-impressionante
- 7. Come chiamare MENO mixins gradiente di bootstrap
- 8. NPE in clojure.lang.Compiler quando si tenta di caricare una risorsa
- 9. importa meno file in un altro meno file ma non include il contenuto
- 10. FileNotFound che tenta di caricare v14.0.0.0 di "Microsoft.VisualStudio.Web.PageInspector.Runtime"
- 11. Esempio di meteor compilazione del bootstrap personalizzato in meno?
- 12. Perché Visual Studio tenta di collegare "freeglutd.lib"?
- 13. Griglia semantica con Bootstrap + MENO Mixins ¿COME?
- 14. Perché il mio sito tenta di caricare il file aspnet_filter.dll a 32 bit anche se 'enable32BitAppOnWin64' è impostato su False?
- 15. estensione meno file in windows
- 16. Perché Xcode tenta di accedere a 'cs193p.dyndns.org'
- 17. RTCPeerConnection funziona in Microsoft Edge?
- 18. Perché requirejs sta tentando di caricare .map?
- 19. compilazione meno file usando angular2 cli
- 20. Perché non posso caricare i file in modo asincrono?
- 21. griglia bootstrap 3.0 con meno di 12 colonne
- 22. Meno v2 non compila Bootstrap di 2.x
- 23. Play framework 2.1.x non compilerà Twitter Bootstrap 3 MENO
- 24. Perché utilizzare X-UA-Compatible IE = Edge più?
- 25. Icona di avvio Android arrotondato Edge Edge Radii
- 26. meno compilatore raddoppia tutto
- 27. Perché 0 in meno di Number.MIN_VALUE in JavaScript?
- 28. Come caricare correttamente il modulo bootstrap di AngularJS?
- 29. File HTML esterno in Bootstrap Contenuto popover
- 30. Caricare i file nell'ordine specifico con RequireJs
Molto probabilmente hanno tentato di aggiungere il supporto per CSS sourcemaps ma non hanno ancora risolto questa funzione. (A meno che non provi effettivamente a richiedere quei file finché non apri effettivamente il suo debugger/inspector di stylesheet). –
P.S. Ovviamente per "loro" intendo MS, non Bootstrap. –
Edge richiede i file quando gli strumenti F12 vengono aperti dall'aspetto delle cose. Chrome non effettua la richiesta fino a quando non viene spostato il file. Anche gli strumenti di Chrome 403 non sembrano riportare il 403 nella scheda di rete. Hai solo un file vuoto. Il comportamento di Edge è probabilmente quello che preferirei in quanto con Chrome è molto facile non rendersi conto di avere un problema. –