>웹 프론트엔드 >JS 튜토리얼 >showModelessDialog() 사용법에 대한 자세한 설명_기본지식

showModelessDialog() 사용법에 대한 자세한 설명_기본지식

WBOY
WBOY원래의
2016-05-16 19:26:011174검색

Javascript에는 window.alert(), window.confirm(), window.prompt() 등과 같은 대화 상자를 생성하는 많은 내장 메소드가 있습니다. 그러나 IE는 대화 상자를 지원하는 더 많은 방법을 제공합니다. 예:
showModalDialog()(IE 4 지원)
showModelessDialog()(IE 5 지원)

window.showModalDialog() 메서드는 HTML 콘텐츠를 표시하는 모달 대화 상자를 만드는 데 사용됩니다. .대화 상자이므로 일반적으로 window.open()으로 열리는 창의 속성이 모두 포함되어 있지는 않습니다.

window.showModelessDialog() 메서드는 HTML 콘텐츠를 표시하는 비모달 대화 상자를 만드는 데 사용됩니다.

showModelessDialog()를 사용하여 창을 열 때 창을 닫을 때 window.close()를 사용할 필요가 없습니다. 비모달 모드[IE5]에서 열리면 열리는 창이 됩니다. 대화 상자는 여전히 다른 작업을 수행할 수 있습니다. 즉, 대화 상자가 항상 최상위 초점이 되는 것은 아니며 대화 상자를 여는 창의 URL이 변경되면 자동으로 닫힙니다. 모달 [IE4] 대화 상자에는 항상 초점이 있습니다(닫을 때까지 초점을 제거할 수 없습니다). 모달 대화 상자는 그것을 열었던 창에 연결되어 있으므로 다른 창을 열 때 해당 링크 관계는 여전히 유지되고 활성 창 아래에 숨겨집니다.

사용 방법은 다음과 같습니다.
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures] )

매개변수 설명:
sURL
필수 매개변수, 유형: 문자열. 대화 상자에 표시할 문서의 URL을 지정하는 데 사용됩니다.
vArguments
선택적 매개변수, 유형: 변형. 대화 상자에 매개변수를 전달하는 데 사용됩니다. 배열 등을 포함하여 전달되는 매개변수 유형은 제한되지 않습니다. 대화 상자는 window.dialogArguments를 통해 전달된 매개 변수를 가져옵니다.
sFeatures
선택적 매개변수, 유형: 문자열. 대화 상자의 모양과 기타 정보를 설명하는 데 사용되며 다음 중 하나 이상을 세미콜론 ";"으로 구분하여 사용할 수 있습니다.
DialogHeight는 대화 상자의 높이로 100px 이상입니다. IE4에서는 대화 상자 높이와 대화 상자 너비의 기본 단위가 em인 반면, IE5에서는 편의상 모달 대화 상자를 정의할 때 px를 사용합니다. 단위.
DialogWidth: 대화상자 너비.
DialogLeft: 데스크탑 왼쪽으로부터의 거리입니다.
DialogTop: 데스크탑으로부터의 거리.
center: {yes | no | 1 | 0}: 창이 중앙에 있는지 여부, 기본값은 yes이지만 높이와 너비는 계속 지정할 수 있습니다.
도움말: {yes | no | 0}: 도움말 버튼 표시 여부, 기본값은 yes입니다.
크기 조정 가능: {예 | 아니오 1 | 0} [IE5+]: 크기를 조정할 수 있는지 여부. 기본값은 아니오입니다.
status: {yes | no | 0} [IE5]: 상태 표시줄을 표시할지 여부입니다. 기본값은 yes[Modeless] 또는 no[Modal]입니다.
스크롤:{ 예 | 아니오 | 0 | off }: 대화 상자에 스크롤 막대가 표시되는지 여부를 나타냅니다. 기본값은 예입니다.

HTA에는 일반 웹페이지에서는 일반적으로 사용되지 않는 여러 속성이 사용됩니다.
DialogHide:{ yes | no | 1 | 0 | off }: 인쇄 또는 인쇄 미리보기 중에 대화 상자를 숨길지 여부입니다. 기본값은 아니오입니다.
edge:{ sunken | raise }: 대화 상자의 테두리 스타일을 지정합니다. 기본값은 증가합니다.
unadorned:{ 예 | 아니오 | 0 | 끄기 }: 기본값은 아니오입니다.

수신 매개변수:
매개변수를 대화 상자에 전달하기 위해 vArguments를 통해 전달됩니다. 유형에는 제한이 없습니다. 문자열 유형의 경우 최대 길이는 4096자입니다. 객체를 전달할 수도 있습니다. 예:

test1.htm

test2.htm


test3.htm



Yes window.returnValue를 통해 대화 상자를 연 창에 정보를 반환합니다. 물론 객체일 수도 있습니다. 예:

test4.htm


test5.htm






<script> <BR> var mxh1 = new Array("mxh","net_lover","孟子E章") <BR> var mxh2 = window.open("about:blank","window_mxh") <BR> // 向对话框传递数组 <BR> window.showModalDialog("test2.htm",mxh1) <BR> // 向对话框传递window对象 <BR> window.showModalDialog("test3.htm",mxh2) <BR></script> <script> <BR> var a = window.dialogArguments <BR> alert("您传递的参数为:" + a) <BR></script><script> <BR> var a = window.dialogArguments <BR> alert("您传递的参数为window对象,名称:" + a.name) <BR> </script>FAQ: <script> <BR> var a = window.showModalDialog("test5.htm") <BR> for(i=0;i<a.length;i++) alert(a) <BR></script>1. 새 창을 열지 않고 모달 대화 상자에서 제출하는 방법은 무엇입니까? <script> <BR> function sendTo() <BR> { <BR> var a=new Array("a","b") <BR> window.returnValue = a <BR> window.close() <BR> } <BR> </script> 브라우저가 IE5.5인 경우 대화 상자에서 이름 속성이 있는 iframe을 사용할 수 있으며, 제출 시 대상을 iframe의 이름으로 설정할 수 있습니다. IE4의 경우 높이가 0인 프레임을 사용할 수 있습니다.例如:

 test6.htm
<script> <BR> window.showModalDialog("test7.htm") <BR> </script> test7.htm
if(window.location.search) alert(window.location.search)
 
  
  
  test8.htm

 
 
 

 <script> <BR> if(window.location.search) alert(window.location.search) <BR> </script>


2,可以通过http://servername/virtualdirname/test.htm?name=mxh方式直接向对话框传递参数吗?
 答案是不能。但在frame里是可以的。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.