2011-08-26 4 views
3

Firefox는 HTML5 응용 프로그램 캐시를 사용할 때 사용자에게 데이터를 저장하라는 메시지를 표시하므로 Firefox에서 비활성화하여 프롬프트 알림이 표시되지 않도록하고 싶습니다.Firefox에서 HTML5 응용 프로그램 캐시를 특별히 비활성화하는 방법

두 가지 다른 HTML 파일을 제공하는 한 가지 방법은 Firefox에 <html>을, 다른 브라우저에 <html manifest=...>을 사용하는 것입니다.

효율성을 위해 하나의 정적 파일을 제공하고 싶습니다.

Firefox에서 <html manifest=...>의 파일을 처리하는 동안 응용 프로그램 캐시를 어떻게 비활성화합니까?

+0

about : config에 dom.storage.enabled 설정이 있습니다. 원하는대로 설정해야합니다. –

+0

@Marc : 개인 웹 브라우저에서이 기능을 사용하지 않으려한다고 생각하지 않습니다. –

+0

"하나의 정적 파일". 따라서 서버가 파일을 조작 할 수 없기 때문에 브라우저 설정이 변경됩니다. –

답변

5

manifest 속성은 페이지가로드 될 때까지 선택되지 않습니다. 페이지가로드되고 프롬프트가 나타나지 않을 때이를 제거 할 수 있다는 의미입니다. 이처럼 : 물론 모든 Gecko 브라우저 때문에이 메시지의 영원히 금지 할 필요가 있다고 가정

<script type="text/javascript"> 
    if (window.navigator.product == "Gecko") 
    document.documentElement.removeAttribute("manifest"); 
</script> 

. 특히 프롬프트가 미래의 어떤 시점에서 사라질 수 있기 때문에 특히 좋지 않습니다. 그러나 브라우저가 오프라인 사용을 위해 웹 응용 프로그램을 저장하는 것에 대해 사용자에게 묻는 지 여부를 감지하는 적절한 방법은 없습니다.

+0

이 작동합니다. 천 감사합니다. 나는 무의식적으로 그것이 페이지의 로딩 전에 점검 될 것이라고 가정했다. 예, 파이어 폭스 용 appCache를 사용하고 싶지만 내 관점에서 볼 때 btw는 파이어 폭스의 결함 일뿐입니다. – brillout

+0

window.navigator.product는 Safari와 Chrome의 "Gecko"입니다. 또한이 작업은 HTML5 스펙에 대한 사고 인 것 같습니다. "애플리케이션 캐시 선택은 HTML 구문 분석기에서 발생합니다." (http://www.w3.org/TR/html5/browsers.html#read-html) – natevw

2

iframe을 사용하여 applicationCache를 설치하십시오. 그렇게하면 버튼을 사용하여 사용자에게 메시지를 표시하고 버튼을 클릭하면 iframe을로드 할 수 있습니다.

관련 문제