2013-06-12 12 views
1

proto.exportMetadata 함수에서 IE8을 실행하는 시스템에서 오류가 발생합니다. "오류 : 메서드 또는 속성 액세스에 대한 예기치 않은 호출". 이 오류가 발생하면 현재 버전 1.2.1을 실행 중입니다. 필요한 경우 더 많은 정보를 제공하려고 노력할 것입니다. 감사.IE8에서 exportMetadata 오류가 발생했습니다.

편집 버전 1.3.5로 업데이트되었으며 IE8을 실행하는 컴퓨터에서 데이터 실행 방지 (DEP) 설정과 관련된 새로운 문제가 발생했습니다. 컴퓨터는 Windows XP Pro 서비스 팩 3 및 IE8을 실행하도록 설정됩니다. IE8 브라우저 모드로 IE10을 실행할 때 이것은 불행하게도 발생하지 않습니다. IE8을 실행하는 컴퓨터에서 발생합니다.

답변

1

Breeze 1.3.6에서도 동일한 문제가 발생합니다. IE8에서 exportMetadata는 "메서드 또는 속성 액세스에 예기치 않은 호출"오류를 발생시킵니다.

나를 위해 문제는 간헐적이지만 여전히 매우 재현 가능합니다. 난 그냥 내 응용 프로그램을 다시로드 할 수 있으며 때로는 잘 작동합니다, 때로는 JavaScript 오류가 발생하고 때로는 IE 탭이 완전히 "Internet Explorer가 작동을 멈췄다"대화 상자와 충돌합니다.

오류는 실제로 네이티브 JSON.stringify 함수 내부에서 발생합니다. 당신은 그것의 GitHub page에 json2.js 원시 링크의 최신 버전을 다운로드 할 수 있습니다

<head> 
    <!--[if lt IE 9]> 
     <script> 
      // Remove IE8's native JSON object. It doesn't work with Breeze. 
      JSON = undefined; 
     </script> 
     <script src="json2.js"></script> 
    <![endif]--> 
</head> 

: 해결 방법은 네이티브 JSON 개체를 제거하고 대신 json2.js를 사용하는 것입니다.

또한 json2.js를 사용하려는 경우 Breeze는 JSON.stringify (v1.3.6의 breeze.debug.js의 5494 행)에 버그가 있습니다. __config.stringifyPad은 두 번째가 아니라 stringify의 세 번째 인수 여야합니다. 패드가 세 번째 인수가되도록 두 번째 인수 null을 삽입해야합니다. pull request을 제출 했으므로 Breeze 1.3.7에서이 문제가 수정되었습니다.

Breeze가 JSON.stringify에 전달하여 기본 구현을 뒤집을 수 있는지 잘 모르겠습니다. 그것의 바닥에 도달하는 것이 좋겠지 만, 지금은이 해결 방법을 사용하고 있습니다.

0

편집 : IE8 관련 문제는 Breeze 1.3.6에서 수정되었습니다. 이 방법을 사용해 볼 수도 있습니다. ES5 Shim : 당신이 IE8을 사용하는 경우


는이 같은 ES5 심을 사용해야합니다. 이 주제에 대한 추가 문서는 다음과 같습니다. Breeze prerequisites

+0

프로젝트에 포함되어 있습니다. – someyoungideas

+0

Breeze 사이트의 TempHire 샘플을 사용하여 샘플을 설정했습니다. es5 shim과 sham을 추가 한 후 Windows XP Pro 서비스 팩 3 (IE8을 실행하는 컴퓨터)을 사용할 때 DEP 설정에 실패합니다. DEP 설정을 사용하도록 설정하고 DEP 설정에서 Internet Explorer를 무시하도록 다시 시작했습니다. 이 오류는 "ResourceMGT"보기를 열려고 할 때 발생합니다. 로그인하고 홈 화면을 잘 볼 수 있습니다. – someyoungideas

+0

나는 이것을 천천히 진행하고있다. Temp Hire 샘플을 여전히 사용하고 있고 "IE = edge"를 설정하는 메타 태그를 꺼내면 IE8 시스템에서 올바르게로드됩니다. IE8에서 .finally에 관한 작업을 위해 pull 요청을 할 몇 가지 JavaScript 오류가 있습니다. 지금 내가하고있는 마지막 비트는 Q "[Q] 처리되지 않은 거부 이유 (비어 있어야 함)의 오류입니다. Error" – someyoungideas