2009-12-04 7 views
0

내 서버에서 Joomla 인스턴스를 실행 중입니다. 다른 브라우저에서 사이트를로드 할 때 페이지가 잘로드되지만 IE6으로 페이지를로드하면 다음 오류가 발생합니다.Joomla에서 IE6 치명적인 오류

"인터넷 사이트 http://example.com를 열 수 없습니다 인터넷 익스플로러"작업 중단됨 "

팝업 :".이 페이지 로딩을 계속 "나는 때때로 그것이 나를 소요, ​​때로는 사이트에 나를 소요 OK를 누릅니다?. 404 오류.

나는 홈 페이지 외에 다른 페이지에 같은 오류가없는 것 같습니다.

나는 문제가 무엇인지 알아낼 수있는 몇 가지 방법은 내가가있다 확실 해요? 거기 프론트 페이지에로드 된 자바 스크립트를 사용하지만 거기에는 너무 많은 모듈이 있기 때문에 시작할 위치가 확실하지 않습니다.

IE 7/8 이후 버전에서는 Javascript 오류가 보이지 않으며 Firefox에서는 javascript 오류가 발생하지 않습니다. IE6에서는이 오류가 발생하지 않습니다. Yootheme 템플릿을 사용하고 있지만 같은 테마가 IE 6에서 오류없이 작동하는 것처럼 보입니다. 사이트에서이 테마를 보면 처음 페이지에로드 된 모듈이 표시됩니다.

어떤 모듈이 IE6과 호환되지 않는지 알려줄 수있는 방법이 있습니까? 나는 Firebug를 사용하지만 오류를 발견 할 수 없다. 그러나, 나는 아직도 사이트가 IE6에서 디스플레이하지 않을 arather 큰 문제가 있고 IE 사용자의 20 %는 2001 년 브라우저를 계속 잡고있다.

+0

"나는 문제가 무엇인지 알아낼 수있는 방법이 있습니까?" 물론, ** 링크 ** 없이는 알아낼 수있는 방법이 없습니다. ** – ceejayoz

+0

IE6, 그게 뭐죠? 왜 IE6에서 현대 웹 사이트 작업을하려고합니까? 그것은 Ford 1929 A-Model 또는 smth에서 최신 페라리 엔진을 사용하려고하는 것과 같습니다. 10 % 사용률, 급격히 내려갑니다. – markus

답변

1

extenson이 JavScript를 본문에 삽입 할 때이 기능을 사용할 수 있습니다. 내 expereince에서 그것은 일반적으로 확장 관련 문제입니다.

먼저 오류를 표시하는 페이지에 & tmpl = component를 추가하여 템플릿을 확인하십시오. 이 템플릿을 사용하여 내용을 표시해야합니다. 오류가 여전히 나타나는 경우 템플릿 문제입니다. 그래도 계속 나타나면 확장 기능이고 어떤 기능인지 알아야합니다.

먼저 'domready'에 대한 페이지 소스 스캔을 시도하십시오.이 문제는이 문제를 일으키는 것으로 알려진 MooTools 이벤트입니다.대개 이벤트를 수정하려면 '로드'로 대체하십시오.

모든 콘텐츠 모듈을 비활성화하고 오류가 다시 나타날 때까지 하나씩 다시 활성화하십시오.

행운을 빌어 요, 밥

2

DOM 메서드를 사용하여 아직 완전히 구문 분석되지 않은 요소에 내용을 삽입하면 작업이 중단됩니다. 이해할 수있게 파서를 혼란스럽게합니다. 엘리먼트에 새로운 컨텐트가있을 때 ... 추가 된 DOM 컨텐트와 관련하여 어디로 가야합니까? innerHTML과 어떻게 상호 작용합니까? 일관된 대답이 없습니다.

<div id="x"> 
    ... 
    <script type="text/javascript"> 
     document.getElementById('x').appendChild(document.createElement('p')); // fail 
    </script> 
    ... 
</div> 

꽤 자주 요소는 <body>입니다. 본문을 파싱하는 동안 실행되는 코드에서 본문에 본문을 추가하지 마십시오.

IE7과 8은이 오류가 발생해도 약간 다르게 동작하지만 여전히 영향을받습니다.

Microsoft's explanation.

1

내 경험상, JQuery JavaScript 라이브러리를 사용하는 확장을 사용하여 Joomla 웹 사이트를 구축 할 때 이러한 오류가 발생하는 것이 일반적입니다. 많은 확장 개발자는 JQuery가 MooTools와 같은 초기 변수를 사용하지 않도록하고 IE가 작업을 중단시키는 오류 메시지를 발생시키는 것을 잊어 버립니다. 해결책은 Google에 JQuery noconflict 설정을 지정하고 JQuery를 사용하여 확장 코드에 삽입하는 것입니다. 복잡한 것처럼 들리지만, 지금은 세부 사항을 기억할 수는 없지만, 나중에는 쉽게 볼 수 있습니다.