CSS не оновлюється в браузері, коли я його змінюю


14

Я працюю над CSS свого сайту wordpress. Коли я вношу зміни та оновлюю сторінку, зміни не відображаються. Коли я очищую історію браузера та кешу, зміни все одно відображаються. Коли я переглядаю вихідний код сторінки і переглядаю файл css, він містить старий вміст перед зміною. Як змусити це оновлення, щоб я міг розвиватися?


У вас працює плагін кешування? Ваші CSS-файли можна кешувати на сервері.
Пат J

Не здається, у мене є плагін кешування.
Девід Туннелл

Чи працює, якщо ви не використовуєте WordPress? Наприклад, названий файл test.htmlта пов'язаний з ним .cssфайл?
Пат J

Якщо будь-яка з відповідей допомогла вам вирішити проблему, будь ласка, не забудьте прийняти її!
mrwweb

Відповіді:


14

Додайте випадковий номер версії в кінці файлу css, який ви додаєте. Якщо ви використовуєте функції " wp_enqueue_style " або wp_register_style, переведіть випадковий номер (версія) rand(111,9999)на 4-й параметр. Якщо ви додаєте css як тег html, вам слід додати " ?ver=<?php echo rand(111,999)?>" в кінці імені файлу. Приклади тут

wp_register_style( 'custom-style', get_template_directory_uri() . '/css/custom-style.css', array(), rand(111,9999), 'all' );

або

<link rel="stylesheet" type="text/css" href="http://website.com/css/custom-style.css?ver=<?php echo rand(111,999)?>">

Це дозволить уникнути кешування кеш-пам’яті клієнта і, можливо, також кешування сервера.


7

Я знаю, що цій публікації більше року, але я подумав, що хочу згадати, що CloudFlare кешує статичні файли, такі як css, js та зображення, що сприяють більш швидкому завантаженню. Щось я просто потребував годин, щоб розібратися, оскільки у мене виникли проблеми зі змінами css, які не відбивалися на перезавантаженні. CloudFlare має режим розробки, який можна включити протягом 3 годин. Якщо ви забудете ввімкнути це перед тим, як почати вносити зміни, тоді ви можете очистити кеш із керування хмарними флерами.


1
CloudFlare вважає, що якщо ?ver=файл є, то файл не може бути оновлений.
hlcs

Ви говорите, що щоразу, коли я вношу зміни в CSS, javascript, мені потрібно очистити кеш Cloudfare? Що насправді цей режим розробки? Thnx
Танвір

0

Можливо, що ваш хост використовує щось на кшталт Varnish для кешування результатів вашого сайту. Я зіткнувся з цим із сайтом клієнта, розміщеним на рахунку хостингу для спільного розміру. Єдиний засіб, який я знайшов - просто терпіти.


0

Якщо ви використовуєте дочірню тему, можливо, вам потрібно заздалегідь скласти таблицю стилів дочірньої теми, щоб негайно побачити зміни. Це вирішило моє питання.


0

Просто хочу зазначити - пам’ятайте про будь- які встановлені плагіни кешування . Наприклад, WP найшвидший кеш може створити цю проблему, якщо ви не пам’ятаєте увійти на панель приладів WP і натиснути «Очистити кеш -> Видалити кеш і мінімізований CSS / JS» в меню навігації.


0

Це, можливо, старе. Але мені потрібно підтримати того, хто може шукати допомоги. У мене була така ж проблема, і я перевірив свої плагіни. Був плагін "w3 total cache", який прискорює завантаження. Це плагін кеша на стороні сервера, тому я його відключив. Зміни css знову помітні в режимі реального часу. Існує багато завантажувальних плагінів. Тому перевірте свій список плагінів і відключіть їх, поки не закінчите розробку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.