2013-06-28 5 views
0

IE 11은이 게시 시점의 하루 밖에 나오지 않았습니다. 나는 전체 화면 (DIV 또는 문서)를 이동하는 요소를 얻을 수IE11 전체 화면 요소

http://msdn.microsoft.com/en-us/library/ie/dn265028

msRequestFullscreen이 오류가 발생하지 '개체가이 기능을 지원하지 않습니다 ...)

그러나, MSDN 위의 예제가 작동합니다 대상 전달 - makeFullScreen (evt.target). 은 내가 사업부는 jQuery 코드? 더 나은 여전히 ​​

var xxx = $('#container'); 
xxx.msRequestFullscreen(); 

또는 다음과 같이 전체 화면 이동받을 수 : 버튼이 다음 전체 화면을 갈 사업부 또는 전체 문서를 클릭? 현재 버튼을 클릭하면 전체 화면으로 전환되는 버튼입니다.

답변

1

저는 이것이 실제로 JQuery의 작은 오해라고 생각합니다. ID를 JQuery하면 실제로 발견 된 요소가 반환되지 않습니다.이 클래스는 해당 요소 (또는 클래스 선택기를 사용하는 경우 일련의 요소)에 대해 많은 작업을 허용하는 "JQuery 개체"를 반환합니다.

나는 ' t IE11을 사용할 수 있으므로 테스트 할 수는 없지만 시도해보십시오. [0]은 요소 자체를 검색해야합니다.

var xxx = $('#container')[0]; xxx.msRequestFullscreen(); 
0

귀하의 코드 : 당신이 jQuery를 객체에 DOM 메소드를 호출하는 것을 시도하고 있기 때문에

var xxx = $('#container'); 
xxx.msRequestFullscreen(); 

이것은 잘못이다.

jQuery는 $('#container')과 같은 jQuery 객체를 반환합니다. 이러한 객체를 사용하여 많은 작업을 수행 할 수 있지만 할 수없는 작업은 표준 DOM 메서드를 호출하는 것입니다. 이를 위해서는 실제 DOM 객체가 필요합니다.

jQuery 객체는 일치하는 DOM 객체의 배열을 포함합니다.이 객체는 일치하는 요소가 두 개 이상있는 경우 첫 번째 객체는 [0]이고 [1] 등 객체는 액세스 할 수 있습니다. 그래서 당신은 다음과 같이 두 번째 줄을 변경하여 호출을 수행 할 수 있습니다

xxx[0].msRequestFullscreen(); 

이 DOM 요소가 아닌 jQuery를 요소에 msRequestFullscreen()를 호출, 그것은 당신을 위해 작동합니다.

jQuery 기능을 사용하고 있지 않으므로이 경우 jQuery가 전혀 필요하지 않습니다. document.getElementById('container')을 사용하여 jQuery 메서드 대신 DOM 개체를 가져올 수 있습니다. 그런 다음 이미 DOM 객체가 있으므로 두 번째 줄에 [0] 구문이 필요하지 않습니다.

마지막으로 IE 고유의 방법이므로주의해야합니다. 이름 앞에있는 ms은이를 알려줍니다. 즉, 동일한 기능을 지원하더라도 코드가 다른 브라우저에서 작동하지 않습니다. 당신은 크로스 브라우저 방식으로해야합니다. 여기에서이 작업을 수행하는 방법에 대한 몇 가지 팁이 있습니다. How to make the window full screen with Javascript (stretching all over the screen)

관련 문제