2015-08-19 11 views
10

Sto riscontrando problemi con i CSS all'interno di un tag e di mappe di origine.Le mappe di origine nei tag di stile funzionano?

Al fine di migliorare il tempo di caricamento del mio progetto, ho cambiato il modo in cui ho messo il CSS nel mio HTML, trasformando questo:

<html> 
    <head> 
     <link rel="stylesheet" href="css/styles.css"> 
    </head> 
    <body> 
    <h1>Source-maps working wonderfully</h1> 
    </body> 
</html> 

In questa:

<html> 
    <head> 
     <style> 
     h1 { color: red }; 

     //more css 

     /*# sourceMappingURL=css/style.css.map */ 
     </style> 
    </head> 
    <body> 
    <h1>Source-maps not working :(</h1> 
    </body> 
</html> 

Fondamentalmente, durante il processo di costruzione, il file CSS originale generato con sassc (con flag sourcemaps) viene scaricato nell'html che verrà servito.

Ho problemi perché non riconosce le mappe di origine quando il CSS si trova all'interno di un tag ma lo fa perfettamente quando uso il tag. Mi manca un'annotazione aggiuntiva o non è supportata?

Sto usando chrome.

+0

C'è un bug su Chromium in merito alle mappe di origine nei tag di stile in linea, ma in base a questo link, dovrebbe essere corretto molto tempo fa: https://code.google.com/p/chromium/ problemi/dettagli? id = 456062 Non è sicuro se Google Chrome stia utilizzando il core Chromium fisso o no ... – Night2

+1

Le mappe sorgente dovrebbero funzionare con i tag di stile, tuttavia suggerisco di unire tutti i file CSS in un singolo CSS e caricare che il primo modo - questo potrebbe rallentare la prima pagina ma tutto il resto delle pagine del sito si caricherà più velocemente. – Michael

+1

Questo potrebbe essere un brutto trucco, ma potresti anche generare la mappa sorgente incorporata e poi rilasciarla in linea nel tag ... di nuovo, piuttosto brutto, ma se stai usando un linguaggio di template per HTML potrebbe essere gestibile. – Gina

risposta

0

Le mappe di origine dovrebbero funzionare con i tag di stile, tuttavia suggerisco di unire tutti i file CSS in un singolo CSS e caricarlo nel primo modo - questo potrebbe rallentare la prima pagina ma tutto il resto delle pagine del sito verrà caricato Più veloce.

2

/*@ sourceMappingURL= è la vecchia sintassi, è invece necessario utilizzare /*# sourceMappingURL=.

La nuova sintassi è implementata in tutti i principali browser source e Internet explorer 11+ source.

strumenti Chrome dev

  1. strumenti open sviluppatori F12
  2. Aprire Impostazioni F1.
  3. Fare clic su "Attiva mappe di origine CSS" casella

strumenti Firefox dev

  1. strumenti open sviluppatori F12
  2. aprire Opzioni barra degli strumenti (Cog sulla destra).
  3. Fare clic su casella di controllo "Mostra le fonti originali"

Internet Explorer strumenti di sviluppo

  1. sviluppatori di Open Strumenti pannello F12
  2. Aprire Debugger Ctrl + 3
  3. fare clic sul ultima icona a destra

Safari strumenti di sviluppo & Firebug

  • abilitato di default.