문제

일정 시간 또는 특정 이벤트 (예 : 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 프레임 워크에서도 비슷한 것들이 존재합니다.

JS에서 프로그래밍 방식으로 그렇게한다면 바퀴를 재창조하는 것과 같습니다. 나는 a를 사용하는 것이 좋습니다 jQuery 플러그인 호출 jgrowl

당신은 레이블을 사용하고 예를 들어 처음 숨기고 클릭으로 표시하기 위해 페이드 안팎으로 설정할 수 있습니다. $ ( '#div_message'). Fadein (500) .Delay (1000) .fadeout (1500);

window.setTimeout('alert("Message goes here");window.close();', 5000);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top