#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" />