Arkusz stylów nie ładowany z powodu typu MIME

Pracuję nad stroną internetową, która używa gulp do kompilacji i synchronizacji przeglądarki, aby utrzymać przeglądarkę zsynchronizowaną z moimi zmianami.

Zadanie gulp kompiluje wszystko poprawnie, ale na stronie nie mogę zobaczyć żadnego stylu, a konsola wyświetla komunikat o błędzie:

Odmowa zastosowania stylu z " http://localhost:3000/assets/styles/custom-style.css ' ponieważ jego Typ MIME ('text/html') nie jest obsługiwanym typem MIME arkusza stylów, a strict Sprawdzanie MIME jest włączone.

Nie rozumiem, dlaczego tak się dzieje.

HTML zawiera taki plik (który jestem prawie pewien, że jest poprawny):

<link rel="stylesheet" type="text/css" href="assets/styles/custom-style.css"/>

A arkusz stylów jest połączeniem Bootstrap & font-Niesamowite style na razie (nic niestandardowego jeszcze).

Ścieżka jest również poprawna, ponieważ jest to struktura folderów:

index.html
assets
|-styles
  |-custom-style.css
Ale ciągle słyszę błąd. Co to może być? Czy to coś (może ustawienie?) dla gulp / browsersync może?
Author: Peter Mortensen, 2018-01-14

30 answers

Dla Węzła.aplikacje js, sprawdź swoją konfigurację:

app.use(express.static(__dirname + '/public'));

Zauważ, że /public nie ma ukośnika na końcu, więc musisz umieścić go w opcji href twojego HTML:

href="/css/style.css">

Jeśli dodałeś ukośnik (/public/), możesz po prostu zrobić href="css/style.css".

 192
Author: JPaulino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:21:14

Problem, jak sądzę, był z biblioteką CSS zaczynającą się od komentarzy.

Podczas tworzenia nie minifikuję plików i nie usuwam komentarzy. Oznaczało to, że arkusz stylów zaczynał się od komentarzy, co powodowało, że był postrzegany jako coś innego niż CSS.

Usunięcie biblioteki i umieszczenie jej w pliku dostawcy (który jest zawsze minifikowany bez komentarzy) rozwiązało problem.

Ponownie, nie jestem w 100% pewien, że to fix, ale to i tak wygrana dla mnie, ponieważ działa jak spodziewane teraz.

 152
Author: Nick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:19:44

Ten błąd może również wystąpić, gdy nie odnosisz się poprawnie do pliku CSS.

Na przykład, jeśli twój tag linku to

<link rel="stylesheet" href="styles.css">

Ale twój plik CSS ma nazwę style.css (bez drugich s), wtedy jest duża szansa, że zobaczysz ten błąd.

 98
Author: John Deverall,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:32:30

W większości przypadków może to być po prostu ścieżka pliku CSS jest błędna . Tak więc serwer WWW zwraca {[0] } z pewną zawartością {[1] } typu html.

Przeglądarka podąża tą (złą) ścieżką z tagu <link rel="stylesheet" ...> z zamiarem zastosowania stylów CSS. Ale zwracany typ zawartości jest sprzeczny, więc rejestruje błąd.

Tutaj wpisz opis obrazka

 86
Author: Tharaka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:03:33

Utwórz folder poniżej / powyżej stylu.plik css zgodnie ze strukturą kątową i podaj link w stylu <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">.

Tutaj wpisz opis obrazka

 54
Author: Gopi G.A,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:24:40

Miałem ten błąd dla szablonu Bootstrap.

<link href="starter-template.css" rel="stylesheet">

Potem usunąłem rel="stylesheet" z linku, czyli:

<link href="starter-template.css">
I wszystko działa dobrze. Spróbuj tego, jeśli używasz szablonów Bootstrap.
 52
Author: Amandeep Saini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:00:20

Zmieniłem mój 'href' - > 'src'. Więc z tego:

<link rel="stylesheet" href="dist/photoswipe.css">

Do tego:

<link rel="stylesheet" src="dist/photoswipe.css">

Zadziałało. Nie wiem dlaczego, ale udało się.
 41
Author: Sebastian Voráč,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:05:23

Komentarze w Twoim pliku to potkną. niektóre minifiery nie usuwają komentarzy.

również

Jeśli używasz Node.js i ustaw swoje pliki statyczne używając express np.:

app.use(express.static(__dirname + '/public'));

Musisz poprawnie adresować pliki.

W moim przypadku oba były problemem, więc moje linki CSS prefiksem " / css / styles.css".

Przykład:

<link type="text/css" rel="stylesheet" href='/css/styles.css">

To rozwiązanie jest idealne, ponieważ ścieżka jest głównym problemem dla CSS nie dostającego renderowania

 24
Author: metal_jacke1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-05 18:24:50

Po prostu odwołałem się do pliku CSS (Angular theme w moim przypadku) w sekcji styles mojej konfiguracji Angular 6 build w angular.json:

Tutaj wpisz opis obrazka

To nie odpowiada na pytanie, ale może to być odpowiednie obejście, tak jak dla mnie.

 20
Author: dvlsc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:58:47

Wiem, że to może być poza kontekstem, ale powiązanie nieistniejącego pliku może spowodować ten problem, tak jak mi się to zdarzyło wcześniej.

<!-- bootstrap grid -->
<link rel="stylesheet" href="./css/bootstrap-grid.css" />

Jeśli ten plik nie istnieje, napotkasz ten problem.

 18
Author: Safwat Fathi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-06 09:04:10

Jak wspomniano rozwiązania w tym poście, niektóre rozwiązania działały dla mnie, ale CSS nie ma zastosowania na stronie.

Po prostu przeniosłem katalog" css "do katalogu" Assest/ " i wszystko działa dobrze.

<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="assets/css/site.css" >
 17
Author: Jitendra G2,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:08:29

Również dla innych korzystających z Angular-CLI i publikujących w podfolderze na serwerze, sprawdź tę odpowiedź:

Gdy wdrażasz ścieżkę nie-root w domenie, musisz ręcznie zaktualizować znacznik <base href="/"> w swoim dist/index.html.

W tym przypadku musisz zaktualizować do <base href="/sub-folder/">

Https://github.com/angular/angular-cli/issues/1080

 13
Author: simonberry,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:25:15

Mój problem polega na tym, że używałem webpacka i w moim linku HTML CSS miałem względną ścieżkę, i za każdym razem, gdy przechodziłem do zagnieżdżonej strony, to rozwiązywałem niewłaściwą ścieżkę:

<link rel="stylesheet" href='./index.css'>

Więc prostym rozwiązaniem było usunięcie ., ponieważ mój jest jednostronicową aplikacją .

Tak:

<link rel="stylesheet" href='/index.css'>

Więc zawsze rozwiązuje się /index.css

 12
Author: Jared,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:22:50

Miałem ten problem ze stroną, o której wiedziałem, że działa online, kiedy przeniosłem ją do localhost i PhpStorm.

To działało dobrze online:

    <link rel="stylesheet" href="/css/additional.css">

Ale dla localhost musiałem pozbyć się Slasha:

    <link rel="stylesheet" href="css/additional.css">

Więc wzmacniam kilka odpowiedzi podanych tutaj już - prawdopodobnie będzie to błąd ścieżki lub ortografii, a nie jakikolwiek skomplikowany problem z konfiguracją serwera. Błąd w konsoli to czerwony śledź; Karta sieciowa musi być najpierw sprawdzona dla 404.

Wśród odpowiedzi podane tutaj to kilka rozwiązań, które nie są poprawne. Dodanie type="text/html" lub zmiana href na src nie jest odpowiedzią.

Jeśli chcesz, aby wszystkie atrybuty były walidowane na najbardziej wybranych walidatorach i Twoim IDE, należy podać wartość nośnika, a {[6] } powinno być stylesheet, np.:

    <link rel="stylesheet" href="css/additional.css" type="text/css" media="all">
 12
Author: Henry's Cat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:15:22

Dostałem ten sam problem i sprawdziłem, że napisałem:

<base href="./"> w indeksie.html

Potem zmieniłem na

<base href="/">
I wtedy zadziałało dobrze.
 11
Author: VIKAS KOHLI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:26:30

Miałem ten sam problem.

Jeśli struktura twojego projektu jest podobna do następującego drzewa:

index.html
assets
|-styles
  |-custom-style.css
server
  |- server.js

Polecam dodać następujący fragment kodu w server.js:

var path = require('path')
var express = require('express')
var app = express()

app.use('/assets', express.static(path.join(__dirname, "../assets")));

Uwaga: ścieżka jest wbudowanym węzłem.moduł js, więc nie trzeba instalować tego pakietu przez npm.

 10
Author: Mostafa Ghadimi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-26 22:40:18

Dodając do długiej listy odpowiedzi, ten problem również przytrafił mi się, ponieważ nie zdawałem sobie sprawy, że ścieżka jest zła z punktu widzenia synchronizacji przeglądarki.

Biorąc pod uwagę prostą strukturę folderów:

package.json
app
  |-index.html
  |-styles
      |-style.css

Atrybut href wewnątrz <link> w index.html musi być app/styles/style.css a nie styles/style.css

 8
Author: Stig Perez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-13 19:33:20

Możesz otworzyć Narzędzia Google Chrome, wybrać kartę Sieć, przeładować stronę i znaleźć żądanie pliku CSS i poszukać tego, co ma wewnątrz pliku.

Może zrobiłeś coś złego, gdy połączyłeś dwie biblioteki w swoim pliku, w tym niektóre znaki lub nagłówki nie pasujące do CSS?

 8
Author: Yunior González Santana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:17:50

W przypadku, gdy używasz Express bez JS spróbuj z:

app.use(express.static('public'));

Jako przykład, mój plik CSS znajduje się w public/stylesheets/app.css

 8
Author: Tal Hakmon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-11 06:01:24

Wchodząc do konsoli przeglądarki > sieć > styl.css ...kliknąłem na niego i pokazał "nie można dostać / ścieżka / do/mój / CSS", to powiedział mi mój link był zły. zmieniłem to na ścieżkę mojego pliku CSS.

Oryginalną ścieżką przed zmianą był localhost: 3000/Example/public / style.css zmiana na localhost: 3000 / style.css to rozwiązał.

Jeśli podajesz Plik z aplikacji.użycie (wym.statyczna (ścieżkajoin (__dirname, "public"))); lub app.użycie (wym.static ("public")); Twój serwer przejdzie "that folder" to the browser so adding a " / yourCssName.css " link w przeglądarce rozwiązuje to

Dodając inne trasy w linku CSS przeglądarki, będziesz kazał przeglądarce szukać css w podanej trasie.

W podsumowaniu... sprawdź, gdzie link CSS Twojej przeglądarki wskazuje.

 6
Author: bahri noredine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-30 12:20:29

Oprócz użycia:

<base href="/">

Usuń również rel="stylesheet" część z linków css:

<link type="text/css" href="assets/styles/custom-style.css"/>
 6
Author: Murat Yıldız,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-10-01 09:10:11

Dla węzła.aplikacja js, wystarczy użyć tego po zaimportowaniu wszystkich wymaganych modułów w pliku serwera:

app.use(express.static("."));
  • express.statyczna wbudowana funkcja middleware w Express i to w Twoim .plik html: link rel="stylesheet" href="style.css">
 5
Author: Purav Barot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:23:37

Usuń rel="arkusz stylów" i dodaj type = "text / html". Więc będzie to wyglądało tak -

<link  href="styles.css" type="text/html" />
 4
Author: Sanjay Choubey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-10 08:23:29

W moim przypadku, gdy instalowałem pakiet na żywo, miałem go poza publicznym folderem HTML. Nie bez powodu.

Ale najwyraźniej została aktywowana ścisła kontrola typu MIME i nie jestem zbyt pewien, czy jest po mojej stronie, czy przez firmę, z którą hostuję.

Ale jak tylko przeniosłem folder stylizacji w tym samym katalogu co indeks.plik php przestałem dostawać błąd, a stylizacja została aktywowana idealnie.

 4
Author: Jabulani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:31:03

Style Bootstrap nie ładują się #3411

Https://github.com/angular/angular-cli/issues/3411

  1. Zainstalowałem Bootstrap V. 3. 3. 7

    npm install bootstrap --save
    
  2. Następnie dodałem potrzebne pliki skryptów do apps[0].scripts w angular-cli.plik json:

    "scripts": [
        "../node_modules/bootstrap/dist/js/bootstrap.js"
    ],
    
    // And the Bootstrap CSS to the apps[0].styles array
    
    "styles": [
        "styles.css",
        "../node_modules/bootstrap/dist/css/bootstrap.css"
    ],
    
  3. I restarted ng serve

U mnie zadziałało.
 4
Author: hassan khademi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:09:47

Jeśli przeglądarka nie może znaleźć powiązanego pliku css, może spowodować ten błąd.

Jeśli używasz aplikacji Angular nie musisz umieszczać ścieżki pliku css na indeksie.html

 <link href="xxx.css" rel="stylesheet"> -->

Możesz umieścić powiązaną ścieżkę pliku css na stylach.plik css.

@import "../node_modules/material-design-icons-iconfont/dist/material-design-icons.css";
 4
Author: Ahmet Arslan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-04 10:31:32

Pracowałem z aplikacją React.js i również miałem ten błąd, który doprowadził mnie tutaj. To mi pomogło. Zamiast dodawać <link> do index.html dodałem import do komponentu, w którym muszę użyć tego arkusza stylów:

import 'path/to/stylesheet.css';
 4
Author: Alex Gongadze,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-11-22 11:52:17

Jednym z głównych powodów problemu jest to, że plik CSS, który próbuje załadować, nie jest prawidłowym plikiem CSS.

Przyczyny:

  • nieprawidłowy typ MIME
  • [10]} posiadanie kodu JavaScript w arkuszu stylów - (może wystąpić z powodu nieprawidłowej konfiguracji pakietu Webpack bundler)

Sprawdź plik, który próbujesz załadować, jest prawidłowym arkuszem stylów CSS(Pobierz adres URL serwera pliku z karty Sieć i naciśnij nową kartę i zweryfikuj).

Przydatne informacje do rozważenia podczas używania wewnątrz tagu body.

Chociaż posiadanie znacznika link wewnątrz ciała nie jest standardowym sposobem użycia znacznika. Ale możemy go użyć do optymalizacji strony (Więcej informacji: https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery ) / jeśli wymaga tego biznesowy przypadek użycia (kiedy serwujesz treść i serwer skonfigurowany tak, aby musiał renderować stronę HTML z dostarczoną treścią).

Trzymając wewnątrz znacznika body musimy dodać atrybut {[2] } w znaczniku link Jak

<body>
    <!-- … -->
      <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
    <!-- … -->
</body>`

Aby uzyskać więcej informacji na temat itemProperty zajrzyj do https://webmasters.stackexchange.com/questions/55130/can-i-use-link-tags-in-the-body-of-an-html-document.

 3
Author: BALA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 21:57:16

Jeśli Ustawiasz style w JavaScript jako:

    var cssLink = document.createElement("link");
    cssLink.href = "./content.component.scss";
    cssLink.rel = "stylesheet";
   --> cssLink.type = "html/css";
    (iframe as HTMLIFrameElement).contentDocument.head.appendChild(cssLink);

To po prostu zmień cssLint.Typ (oznaczony strzałką w powyższym opisie) do "MIME":

   cssLink.type = "MIME";

Pomoże Ci pozbyć się błędu.

 3
Author: Shriram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-04 22:01:32

Ten problem występuje, gdy używasz narzędzia cli dla reactjs lub angular, kluczem jest skopiowanie całej ostatecznej kompilacji z tych narzędzi, ponieważ inicjują one własne serwery lite, które mylą Twoje adresy URL z utworzonym serwerem zaplecza... weź ten cały folder kompilacji i zrzut go w folderze zasobów projektu serwera zaplecza i ref je z serwera back-end, a nie serwera, który wysyła z Angular lub Reactjs inaczej używasz go jako front-end z określonego API Serwer

 3
Author: ndoty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-11 11:20:07