2009-10-21 3 views
5

Microsoft는 마침내 Internet Explorer 7에서 네이티브 XMLHttpRequest 개체를 추가했지만 인터넷 옵션 대화 상자에서이 개체를 사용할 수 없음을 알았습니다. 그렇다면 XMLHttpRequest()와 ActiveXObject ("Microsoft.XMLHTTP")를 비교하면 어떤 이점이 있습니까?XMLHttpRequest() vs ActiveXObject ("Microsoft.XMLHTTP") - 중요한 점은 무엇입니까?

사용 중지 할 수있는 경우 브라우저 호환성 점검을 영원히 계속해야합니다. 그렇습니까? XMLHttpRequest()가 ActiveXObject ("Microsoft.XMLHTTP")보다 빨리 초기화하거나 무엇을할까요? Microsoft는 왜이를 추가하고 선택적으로 만들겠습니까?

+0

은 (는) Firefox 특정 페이지와의 호환성을위한 것일 수 있습니까? – Xinus

+0

@Rubens Farias, 그럴 예정입니다. 난 단지 XMLHttpRequest를 확인하거나 ActiveXObject()에 대해서도 똑바로 가야하는지 알고 싶기 때문에 IE7 + (다른 브라우저가 아닌)에서만 작동합니다. –

+0

IE7 이상에서 XmlHttpRequest를 직접 사용하면 보안 예외를 잡을 수 있습니다 try/catch에서 직접 또는 간접적으로 사용할 수 없음을 의미합니다. ActiveX 접근 방식을 선택한 경우 내부 구현이 매우 다르다는 점 (로드 된 DOM과 호환되지 않으며 변환 할 필요가 있음)과 속도가 느리고 ActiveX가 아주 자주 비활성화된다는 점에 유의하십시오. – Abel

답변

5

ActiveXObject를 비활성화 할 수도 있습니다. 다른 브라우저에서도이 설정과 다른 설정을 비활성화 할 수 있습니다. 이것은 브라우저 호환성이 아니라 사용자 환경 설정에 관한 것입니다. 사용자는 도메인 간 요청을 허용하거나 거부 할 수 있으며 스크립트를 허용하거나 거부 할 수 있으며 플래시를 허용 할 수 있습니다.

사용자가 사용 중지 한 경우에도 페이지가 여전히 부드럽게 돌아가는지 (정상적으로 후퇴하는지) 확인해야합니다. 당신이 필요로하는 특정 브라우저의 기능.

좋은 소식은 : 기본적으로 사용하도록 설정되어 있으므로 대부분의 사용자가 사용하게됩니다.

업데이트 : 기본적으로 스크립팅 및 외부 요청에 의해 (즉, XML에 XSLT 또는 외부 기관과 document(), xsl:include는) XmlHttpRequest -retrieved 개체에 의해 지원되지 않으며 명시 적으로 활성화해야합니다. 이는 XHR -로드 된 문서의 외부 요청이 허용되는 (또는 Safari 및 Chrome과 같이 존재하지 않는) IE가 아닌 브라우저와 다릅니다.

+1

'좋은 소식은 : 기본적으로 사용하도록 설정되어 있고 대부분의 사용자가 사용하도록 설정되어 있습니다. '- 그래서 내가 질문을했는데 내 사용자 중 한 명이 전원을 켜지 않았고 응용 프로그램을 실패. 그때까지는 장애인이 될 수도 있다는 것을 깨닫지 못했습니다. –

2

이것은 추측이지만 자바 스크립트가 사용 중지 된 것과 같은 이유 때문에이 기능을 사용 중지한다고 가정합니다. 어떤 사람들은 위험 (프라이버시, 보안, 무엇이든간에)이 이익보다 중요하므로 장애를 원한다고 생각합니다.

+0

ActiveXObject와 함께 비활성화 된 경우이를 이해할 수 있습니다. 그러나 실제로 XMLHttpRequest를 비활성화하고 ActiveXObject ("Microsoft.XMLHttpRequest")를 계속 사용할 수 있습니다. –