2008-09-18 2 views
6

저는 webapp에서 작업하고 있으며, CSS를 적용하지 않고 페이지가로드되는 상황을 자주 접하게됩니다. 이 문제는 IE6, IE7, Safari 3 및 FF3에 나타났습니다.CSS를 모든 브라우저에서 가끔씩로드하지 못하게하는 요인은 무엇입니까?

페이지를 새로 고침하면 항상 문제가 해결됩니다.

는 @import 사용하여 모두 같은 스타일의 블록 내에서로드 3 개 CSS 파일이 있습니다 : 우리는 HTML 소스를 검토하는 시간을 어떤 상황에서

<STYLE type="text/css"> 
    @import url([base css file]); 
    @import url([skin css file]); 
    @import url([generated css path]); 
</STYLE> 

는 아무것도 유달리 없습니다. 액세스 로그도 정상적으로 보입니다. 요청할 때마다 정적 CSS 파일에 대한 HTTP 304 응답과 생성 된 CSS에 대한 HTTP 200 응답이 표시됩니다.

mimetype은 css 파일과 생성 된 CSS에 대한 text/css입니다. 우리는 iPlanet 서버를 사용하고 있으며 요청을 Tomcat 서버로 전달합니다.

davebug 질문 :

균등, 항상로드되지 같은 CSS 파일, 아니면 그들 모두의 문제인가?

CSS 파일이로드되지 않습니다. HTML 내에서 정의 된 모든 스타일은 정상적으로 작동하지만이 경우 CSS 파일에는 아무 것도 작동하지 않습니다.

+0

항상 같은 CSS 파일이로드되지 않습니까, 아니면 모든 파일에 균등하게 문제가 있습니까? –

답변

4

내가 가진 유일한 아이디어 ...이다 "@ 수입"보다는. 즉, [기본 css 파일] 포함 항목을 다음으로 이동하십시오.

<link rel="stylesheet" href="[base css file]" type="text/css" media="screen" /> 

다른 사람 앞에 넣으십시오.

+0

몇 주 전에이 변경을했고, 지금까지 문제가 다시 발생하는 것을 보지 못했습니다. 고정되어 있는지 아닌지를 말하기는 어렵지만 그렇게 무작위로 발생합니다. – Illandril

+0

이것은 나를 위해 작동하지 않았다. CSS 파일을 외부 웹 서버 (Tomcat이 아닌)로 이동 한 후에 만이 작업을 끝낼 수있었습니다. – weekens

0

웹 서버에서 CSS 파일을 반복적으로로드하려면 ab 또는 httperf 또는 curl 등을 사용하십시오. 아마도 일관되게 페이지를 제공하지 않습니다.

3

자주 발생하는 경우 브라우저에서 볼 수 있으면 Live http 헤더 Firefox 확장 또는 Tamper Data 확장을 호출하고 브라우저에서 볼 때 응답 헤더를 확인하십시오.

0

헤더를 검사하는 것은 좋은 생각이지만 서버에서 한 번씩 요청에 응답하지 않는다는 사실을 알게 될 것이라고 생각합니다.

인터넷에서 항상 이런 일이 발생합니다. 새로 고침, CSS가 망가질 때까지 이미지가로드되지 않습니다. 모든 상황은 새로 고침으로 해결됩니다.

나는이 문제를 "고칠 수"있는 한 가지 방법을 상상해 봅니다. 어쩌면 cs 파일에 일부 요소에 대한 이미지 URL을 지정하는 것입니다. 그런 다음 자바 스크립트에서 페이지로드시 해당 요소를 가져 와서 해당 이미지가로드되었는지 확인하십시오. 그렇지 않은 경우 페이지를 다시로드하십시오.

꽤 이국적인 것 같은데,하지만 방법 나는 비슷한 일 내가 "링크 REL"을 사용하여 먼저 기본 스타일 시트를 포함하여 해결할 수 있었다 일 했어

1

왜 그런지 모르지만 내 경우에는 페이지가 /ActionName과 같은 경로로 작업에서로드 된 경우이 문제가 발생합니다. 내가 /reservedArea/ActionName 또는 /aPath/ActionName에 (예를 들어)를 변경하는 경우

는하지만 그것은 작동 :/

그것은 미친 짓이야 ...

관련 문제