JavaScript 닫기 경고 상자
-
19-08-2019 - |
문제
일정 시간 또는 특정 이벤트 (예 : OnkeyPress) 후에 JavaScript를 사용하여 경고 상자를 자동으로 닫을 수 있기를 원합니다. 내 연구를 통해 내장 Alert () 함수에서는 가능한 것처럼 보이지 않습니다. 그것을 무시하고 열리는 대화 상자를 제어 할 수있는 방법이 있습니까?
또한, 나는 숨겨진 div를 경고로 보여주는 재정의를 원하지 않습니다. 실제 대화 상자가 필요합니다.
해결책
앞에서 언급했듯이 당신은 실제로 이것을 할 수 없습니다. UI 프레임 워크를 사용하여 창 내부에서 모달 대화 상자를 수행하거나 타임 아웃 후 자동 클로즈가있는 스크립트와 함께 팝업 창이있을 수 있습니다. 각각 부정적인 측면이 있습니다. 창이 최소화 된 경우 브라우저 내부의 모달 창은 알림을 만들지 않고 최신 브라우저 및 팝업 차단제로 프로그래밍 (타이머 기반) 팝업이 차단 될 수 있습니다.
다른 팁
당신은 다소 비슷한 것을 성취 할 수 있습니다 공고 API. 얼마나 오래 보이는지 제어 할 수 없으며 (아마도 어떤 종류의 OS 선호도가 될 것입니다.
1 초 이후에 문을 닫으려면 :
var notification = new Notification("Hi there!", {body: "some text"});
setTimeout(function() {notification.close()}, 1000);
"기본값"보다 오래 표시하려면 Onclose 콜백에 바인딩하고 다른 반복 알림을 표시하여 교체 할 수 있습니다.
Ref : 영감을 얻었습니다 이것 대답은 그 대답이 더 이상 현대 크롬에서는 작동하지 않지만 알림 API는 그렇습니다.
대화 상자를 제어 할 수 없으며 대화 상자를 제어 할 수있는 경우 눈에 띄는 JavaScript 코드를 작성할 수 있습니다. (디버깅을 제외한 모든 것에 대한 경고를 사용하는 것은 좋은 생각이 아닙니다)
일정 시간이 지나거나 특정 이벤트 (예 : OnkeyPress)에서 JavaScript를 사용하여 경고 상자를 자동으로 닫을 수 있기를 원합니다.
사이드 노트 : 경고 ( "데이터")가있는 경우 코드를 백그라운드에서 계속 실행할 수 없습니다 (AFAIK). 대화 상자는 모달 창이므로 집중력도 잃을 수 없습니다. 따라서 키 프레스 나 타이머가 실행되지 않습니다 ...
Boot Box 플러그인을 시도하십시오.
var alert = bootbox.alert('Massage')
alert.show();
setTimeout(function(){alert.modal('hide'); }, 4000);
팝업 창을 열고 전화 할 수있을 것 같아요 저것 대화 상자. 세부 사항은 잘 모르겠지만 JavaScript에서 열린 프로그램에서 창을 닫을 수 있다고 확신합니다. 이것이 충분할까요?
여기서 유일한 대안은 모달 옵션과 함께 일종의 사용자 정의 위젯을 사용하는 것입니다. 이러한 기능과의 대화 상자의 예는 jQuery UI를 살펴보십시오. 당신이 언급 할 수있는 거의 모든 JS 프레임 워크에서도 비슷한 것들이 존재합니다.
당신은 레이블을 사용하고 예를 들어 처음 숨기고 클릭으로 표시하기 위해 페이드 안팎으로 설정할 수 있습니다. $ ( '#div_message'). Fadein (500) .Delay (1000) .fadeout (1500);
window.setTimeout('alert("Message goes here");window.close();', 5000);