CSS не загружается

#asp.net #rendering

#asp.net #рендеринг

Вопрос:

Я добавил css-файл на свою страницу. Но иногда. css-файл не загружается, и страница отображается в обычном стиле HTML. Если мы обновим страницу вручную, то она загрузится. Эта проблема периодически возникает во всех браузерах. Есть ли какое-либо решение для этого. Можем ли мы гарантировать, что css загружается каждый раз перед рендерингом страницы? Спасибо, Рохит

Ответ №1:

Я часто сталкивался с этой проблемой в веб-разработке, и, насколько я знаю, решения, похоже, нет. Даже такие сайты, как YouTube и gmail, иногда не загружают CSS, ведущий к тому, что страница отображается беспорядочно на белом фоне. Если кажется, что это происходит только на вашем сайте, попробуйте переключить хосты; возможно, это поможет.

Удачи!

Редактировать: единственная причина, по которой я не думаю, что это связано с кодом, заключается в том, что вы сказали, что это происходит периодически. Вы пробовали тестировать на многих компьютерах, а не только в разных браузерах?

Комментарии:

1. Да, я тоже пробовал это на разных машинах. Есть ли что-нибудь, что мы можем сделать, используя jQuery или Javascript? Можем ли мы остановить загрузку страницы, пока не загрузится css? Не уверен, что это правильный подход

2. @rohit мы не можем этого сделать, потому что браузер загружает css после загрузки страницы в другом браузере word, отправляет запрос для всех тегов <link> после получения HTML-страницы

3. Вы знаете, почему это происходит? Интересно, это из CSS, HTML или связано с хостом.

Ответ №2:

Убедитесь, что вы поместили ссылку на стиль в <head> раздел html и убедитесь, что разметка css правильная.

Ссылка на стиль

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

Ответ №3:

Вы можете динамически загружаться с помощью jQuery

 $(document).ready( function() {
    $("head").append("<link>");
    css = $("head").children(":last");
    css.attr({
      rel:  "stylesheet",
      type: "text/css",
      href: "/css/stylesheet.css"
    });
}); 
  

Или этот

  $(document).ready( function() {
    $("head").append("<link rel='stylesheet' type='text/css' href='css/style.css' />");

   });
  

вы можете использовать этот трюк, который также не очень хорош, но может сработать

 <script type="text/javascript" charset="utf-8">
$(document).ready(function(){
    $("style").load("css/style.css")
})
</script>
  

Ответ №4:

Это поведение браузера по умолчанию. На самом деле браузер кэширует файл css. Но есть один способ, которым вы можете это сделать, и это передать значение запроса следующим образом…

 <link rel="stylesheet" type="text/css"
href="http://www.domain.com/css/abc.css?v=1.1" />