페이지에는 activex 컨트롤과 onclick이 ajax 모달 팝업을 여는 버튼이 있습니다. 내가 직면 한 문제는 버튼을 클릭 할 때마다 ajax 팝업이 activex 컨트롤 뒤에로드되어 숨김 상태라는 것입니다. 따라서 해당 컨트롤을 전혀 사용할 수 없습니다. 이 문제에 대한 적절한 해결책을 찾지 못했습니다. 나는 브라우저 점검 조건이 ajaxtoolkit 코드에서 제거 된 해결책을 시도했다. 운이 없다. Ajax 툴킷 버전 3.0.30512.1.let을 사용하고 있습니다.이 문제를 해결할 수있는 솔루션이 있는지 알고 싶습니다.Ajax 모달 팝업이 activex 컨트롤 뒤에로드됩니다.
답변
ActiveX의 경험은 없지만 간단한 CSS Z- 색인 위치 지정 문제 일 수 있습니다. 컨트롤의 Z- 인덱스가 모달 팝업의 Z- 인덱스보다 낮도록 보장 했습니까?
는 잘 모르겠어요하지만 문제는 항상 최상위에 표시되는 액티브 X,라고 생각합니다. 팝업 표시 할 때
당신은 액티브 X를 숨기려고 수 :
document.getElementById('activex').style.visibility = 'hidden';
와 다음 팝업을 닫을 때 다시 액티브을 보여
document.getElementById('activex').style.visibility = 'visible';
이 옵션을 사용해 보겠습니다. – Aravind
그래도 문제가 해결되지 않으면 너비와 높이를 1로 설정하십시오. 일부 ActiveX 컨트롤은 브라우저가 컨트롤을 비활성화 할 수 있기 때문에 실제로 보이지 않게하면 이상하게 동작 할 수 있습니다. 렌 셀엘의 대답은 절대적으로 여기서 일어나는 일입니다. 나는 더 잘 설명 할 수 없었습니다. – taxilian
나는이 질문을 올린 지 오래되었으며, 지금은 의견을보고 놀랐다. :) 페이지 액티비티를 page.at의 단일 컨트롤로 만들기 위해 실제로 페이지 흐름을 약간 변경하여 사이트를 전달하는 빠른 수정이었습니다. – Aravind
DIV에 또는를 가져 오는 모든 노력을 ActiveX의 HTML 요소는 효과가 없습니다. ActiveX는 HTML 요소보다 z- 색인이 더 높더라도 맨 위에 항상 있습니다. 그 이유는 탐색기가 콘텐츠를 렌더링하는 방식 때문입니다.
http://support.microsoft.com/default.aspx?scid=kb;en-us;177378을 참조하십시오.
컨트롤에는 두 가지 유형이 있습니다. 창과 창없는 요소는 서로 다른 평면에 렌더링됩니다. 모든 창 요소는 컨테이너의 소원에도 불구하고 모든 창없는 요소 위에 페인트됩니다. 그러나 창없는 요소는 서로에 대해 z- 색인 특성을 따르는 것처럼 서로에 대해 z- 색인 특성을 따릅니다.
모든 창없는 요소는 동일한 MSHTML 평면에 렌더링되고 창 요소는 별도의 MSHTML 평면에 그립니다. z- 인덱스를 사용하여 같은 평면에있는 요소를 조작 할 수 있지만 다른 평면에있는 요소와 섞어서 일치시키지는 못합니다. 각 평면에서 요소의 z- 색인을 재정렬 할 수 있지만 창 평면은 항상 창없는 평면의 상단에 그립니다.
대부분의 경우 태그가 창으로 표시됩니다. 그것이 항상 맨 위에 머물러있는 이유입니다.
이 답변은 절대적으로 정확합니다. FireBreath는 창없는 ActiveX 컨트롤을 만드는 것을 지원하지만 컨트롤이 자체 HWND를 가지지 않기 때문에 대부분의 컨트롤은 지원하지 않습니다. – taxilian
Z 인덱스 옵션을 사용해 보았지만 행운이 없습니다. – Aravind