2010-05-05 2 views
5
나는 새 페이지가 그에게 생성 될 때마다 우리의 제품 ...에 대한 HTML을 생성 시스템을 만들었 않은 않은 도달 개발자의 매개 변수 내에서 일하고 있어요

장소 :HTML의 DOCTYPE 설정/IE 쿼크 모드

<!-- updated page at 05/MAY/2010 02:58.58 --> 
<!-- You must use the template manager to modify the formatting of this page. --> 

처럼 보이는 내 코드의 결과 : 개발자 화면을 볼 때 나는 전혀 같은 IE 읽기의이 문서 타입을 믿지 않는

<!-- updated page at 05/MAY/2010 02:55.30 --> 
<!-- You must use the template manager to modify the formatting of this page. --> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 

, 어떤 다른 방법에있다 ... 쿼크 모드로 렌더링 IE를이 끔찍한 Quirks 모드에서 강제 종료 하시겠습니까? 나는 개발자에게 연락하려고 노력해 왔지만 다소 유용하지 않았습니다.

도움을 주셔서 감사합니다.

// 편집 :

이 자바 스크립트를 통해 할 LOAD 명령에와 상위 페이지를 칠 수 있습니까?

+0

이것은 다소 늦은 것이지만 문제는 doctype 앞에있는 주석입니다. 이로 인해 IE는 quirksmode로 전환합니다. –

답변

2

할 수있는 것은 아무것도 없습니다. 콘텐츠 관리 시스템에 오류가 발생했습니다. 개발자를 찾아 결함이있는 시스템을 수정하거나 새로운 컨텐츠 관리 시스템을 갖출 필요가 있습니다.

+0

버머 .. 내 이메일을 계속 쓸게. 고맙습니다 – Petrogad

0

페이지는 어떻게 생성됩니까?

PHP를 사용하는 경우 출력 버퍼링을 사용하여 템플릿 주석이 출력되지 않도록 할 수 있습니다.

+0

슬프게도 나는 어떻게 생성 되는가에 대한 컨트롤을 가지고있다./나는 빌드를 쳤고, HTML 페이지가 만들어졌고, 페이지에 무엇이 있더라도, 나는 다시 빌드 할 수있다. 그러나 그 주석은 계속 붙어있다. 상단. – Petrogad

0

코드가 얽혀 있다면 빌드 프로세스에 마지막 단계를 추가하는 것이 좋습니다.이 단계는 이러한 주석을 제거합니다.

2

당신은 HTML에 대한 귀하의 헤드 섹션의 시작 부분에

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

을 추가하여 표준 모드를 ​​사용하도록 IE를 강제하거나 서버 구성을 통해 해당하는 HTTP 헤더를 추가 할 수 있습니다. 그러나 IE8 이상에서만 작동합니다.

0

예 예, 가능하지만 매우 나쁜 일입니다.

UPD. 죄송합니다, 그것이 작동하지 않습니다.

그러나 경우에 따라 사용자에게 제공되는 서비스를 제어 할 수 없습니다. 일반적인 상황 : 회사가 법적 사유로 사용해야하는 지불 게이트웨이. 그것들을 사용하면 페이지의 스타일을 지정하고 자신의 콘텐츠를 넣을 수는 있지만 변경할 수 없으며 doctype이 설정되는 방법 (그리고 설정되지 않은 것)이 허용되지 않습니다.

그래서,이 링크에서 영감을 : 당신은 또한 뭔가 <!--[if IE]>을 변경할 수 있습니다 그러나

<!--[if IE]> 
<script> 
!function() { 
var doctype = "<!DOCTYPE html>", 
    headHTML = document.head.outerHTML, 
    bodyHTML = document.body.outerHTML; 

window.doctypeSet = false; 

if (window.doctypeSet) return; 
setTimeout(function(){ 
    document.write(
    doctype + 
    "<html>" + 
    headHTML + 
    bodyHTML + 
    "</html>" 
); 
    window.doctypeSet = true; 
}, 0); 

}(); 
</script> 
<![endif]--> 

: http://www.webmasterworld.com/forum91/4856.htm하고 아름답게 솔루션은 아마이 (당신의 닫는 body 태그 </body> 전에 넣어) 같은 것 <!--[if lte IE 9]>처럼 IE10 이상에서는이 더러운 댄스를 수행하지 않습니다. doctype이없는 경우 IE10이 quirksmode로 전환되는지 확실하지 않습니다. 전환하지 않으면이 코드가 호출 될 필요가 없습니다.