JavaScript는 사용자 상호 작용을위한 특수 UI를 표시하기위한 다양한 내장 팝업 API를 제공합니다. 가장 일반적인 것은 다음과 같습니다.
경고 ( "안녕하세요, 세계!");
UI는 브라우저마다 다르지만 일반적으로 전달한 메시지가 포함 된 매우 눈길을 끄는 방식으로 페이지 중앙까지 작은 창이 나타납니다. Firefox 및 Chrome의 예는 다음과 같습니다.
기본 JavaScript 팝업의 주요 문제
JavaScript 팝업이 차단되고 있습니다.
팝업이 열리면 전체 페이지가 실제로 실행 중지 됩니다. 팝업 중에는 페이지의 어떤 것도 상호 작용할 수 없습니다. 바로 "모달 창"의 것과 정확히 일치하지만 여전히 세심한주의를 기울여야하는 사용자 경험 요소입니다. 팝업이 열릴 때 다른 메인 스레드 JavaScript 코드가 실행되지 않으므로 웹 사이트가 필요한 작업을 수행하지 못하게 할 수 있습니다.
10 번 중 9 번, 모든 작업이 중지되도록하는이 동작을 사용하지 않도록 아키텍처를 재 설계하는 것이 가장 좋습니다. 브라우저는 기본 JavaScript 알림도 구현되면 디자인을 제어 할 수 없습니다. 페이지의 위치 나 거기에서 어떻게 보이는지 제어 할 수 없습니다. 전체 차단 기능이 절대적으로 필요하지 않으면 거의 항상 사용자의 경험을 사용자 정의하기 위해 설계 할 수있는 사용자 정의 사용자 인터페이스를 사용하는 것이 가장 좋습니다 .
각 기본 팝업 창을 살펴 보겠습니다.
window.alert()
window.alert ( "Hello World"); // 메시지 예제 예제 const button = document.querySelectorall ( "버튼"); button.addeventListener ( "클릭", () => { ALERT ( "버튼 텍스트 :"버튼. innerText); });
목적 : 간단한 메시지 또는 디버그 변수의 값을 표시합니다.
작동 방식 : 이 기능은 문자열을 가져 와서 OK 레이블이있는 버튼의 팝업 창에서 사용자에게 제시합니다. 버튼의 텍스트와 같은 다른 측면이 아닌 메시지 만 변경할 수 있습니다.
대안 : 다른 경고와 마찬가지로 사용자에게 메시지를 표시 해야하는 경우 수행하려는 작업에 맞는 방식으로 메시지를 표시하는 것이 가장 좋습니다.
변수 값을 디버깅하려는 경우 console.log("变量的值:", variable);
콘솔에서보십시오.
window.confirm()
Window.confirm ( "확실합니까?"); // 샘플을 묻습니다. 답변을 let = window.confirm ( "고양이를 좋아합니까?"); if (답변) { // 사용자가 "확인"을 클릭했습니다. } 또 다른 { // 사용자가 "취소"를 클릭했습니다. }
목적 : "확실합니까?" 메시지를 입력하여 사용자가 시작한 작업을 실제로 완료 하려는지 확인하십시오.
작동 방식 : 사용자 정의 메시지를 제공 할 수 있고, 팝업은 OK 또는 취소 옵션을 제공 한 다음 해당 값을 사용하여 반환 된 컨텐츠를 볼 수 있습니다.
대안 : 이것은 사용자에게 신뢰하는 매우 방해적인 방법입니다. Aza Raskin이 말했듯이 :
… 아마도 경고를 전혀 사용하고 싶지 않을 수도 있습니다. '
사용자에게 특정 콘텐츠를 확인하도록 요청하는 방법에는 여러 가지가 있습니다. 아마도 당신이해야 할 일에 연결되는 확인 버튼이있는 명확한 UI 일 것입니다.
window.prompt()
Window.prompt ( "이름이 뭐야?"); 답변 = Window.prompt ( "가장 좋아하는 색상은 무엇입니까?"); // 답변은 사용자가 입력하는 것입니다 (있는 경우)
목적 : 사용자에게 입력하라는 프롬프트. 문자열 (아마도 문제로 포맷 된)을 제공하고 사용자는 문자열이 포함 된 팝업 창, 입력 할 수있는 입력 상자, 확인 및 취소 버튼이 표시됩니다.
작동 방식 : 사용자가 "OK"를 클릭하면 입력 상자에 입력 한 내용을 얻게됩니다. 그들이 아무것도 입력하지 않고 확인을 클릭하면 빈 문자열이 나타납니다. 그들이 취소를 선택하면 반환 값은 null이됩니다.
대안 : 다른 모든 기본 JavaScript 알림과 마찬가지로 알림 상자를 스타일링하거나 배치 할 수 없습니다. 사용하는 것이 가장 좋습니다<input>
사용자 정보를 얻는 요소. 이렇게하면 더 많은 맥락과 의도적 인 디자인을 제공 할 수 있습니다.
window.onbeforeunload()
window.addeventListener ( "전후", () => { // 표준에는 기본 작업이 취소되어야합니다. event.preventDefault (); // chrome은 returnValue 설정이 필요합니다 (MDN을 통해) event.returnValue = ''; });
목적 : 사용자가 페이지를 떠나기 전에 경고를 발행하십시오. 이것은 매우 성가신 것처럼 들릴지 모르지만 종종 성가신 것은 아닙니다. 작업 중일 수 있고 명시 적으로 저장 해야하는 웹 사이트에 사용됩니다. 사용자가 작업을 저장하지 않고 떠나려고하는 경우이 방법을 사용하여 경고 할 수 있습니다. 그들이 그들의 작업을 저장 한 경우, 당신은 그것을 삭제해야합니다.
작동 방식 : beforeunload
이벤트를 창에 첨부 한 경우 (위의 스 니펫에 표시된 다른 조치를 수행 한 경우), 사용자가 페이지를 떠나려고 할 때, 그들은 "휴가"또는 "취소"할 것인지 묻는 팝업을 볼 수 있습니다. 사이트를 떠나는 것은 사용자가 링크를 클릭했기 때문일 수 있지만 브라우저 새로 고침 또는 뒤로 버튼을 클릭 한 결과 일 수도 있습니다. 메시지를 사용자 정의 할 수 없습니다.
MDN은 일부 브라우저가 페이지와의 상호 작용이 필요하다고 경고합니다.
원치 않는 팝업과 싸우기 위해 일부 브라우저는 페이지가 상호 작용하지 않는 한
beforeunload
이벤트 핸들러에 생성 된 프롬프트를 표시하지 않습니다. 또한 일부 브라우저는 전혀 표시되지 않습니다.
대안 : 아무것도 생각할 수 없습니다. 이것이 사용자가 작업을 잃는 데 문제가있는 경우 사용해야합니다. 그들이 머무르기로 선택했다면, 떠나는 것이 안전한 지 확인하기 위해 무엇을 해야하는지 명확하게해야합니다.
접근성
접근성의 세계에서는 원주민 자바 스크립트 알림이 인기가 없었지만 스크린 리더는 처리 방식이 더 똑똑해지고있는 것 같습니다. Penn State의 접근성 지침에 따르면 :
경고 상자의 사용은 한 번 권장되지 않았지만 실제로 현대 스크린 리더에서는 액세스 할 수 있습니다.
고유 한 모달 창을 만들 때 접근성을 고려해야하지만 방향을 가리킬 수있는 몇 가지 훌륭한 리소스 (예 : IRE Aderinokun 의이 게시물)가 있습니다.
일반적인 대안
자체 팝업 작성, Modal Window 라이브러리 사용 및 Alert 라이브러리 사용과 같은 기본 JavaScript 팝업에 대한 많은 대안이 있습니다. 우리가 소개 한 것들 중 어느 것도 JavaScript 실행 및 사용자 상호 작용을 완전히 막을 수는 없지만 일부는 배경을 회색으로써 사용자가 모달 창과 상호 작용하도록하여이를 수행 할 수 있습니다.
기본 HTML을보고 싶을 수도 있습니다<dialog></dialog>
요소. Chris는 최근에 그것에 대한 실질적인 연구를 수행했습니다. 매력적이지만 분명히 몇 가지 주요 접근성 문제가 있습니다. 모달 윈도우를 처리하는 것은 매우 중요한 대화식 요소이므로 자신의 팝업을 구축하는 것이 더 나은지 확실하지 않습니다. 부트 스트랩과 같은 일부 UI 라이브러리는 모달 창을 제공하지만 접근성은 여전히 주로 손에 있습니다. A11y-Dialog와 같은 프로젝트를 확인하고 싶을 수도 있습니다.
요약
웹 플랫폼의 내장 API를 사용하는 것은 옳은 일인 것 같습니다. 기능을 복사하기 위해 많은 JavaScript 코드를 보내는 대신 이미 내장 된 기능을 사용합니다. 그러나 기본 JavaScript 팝업을 사용하는 데 도움이되지 않는 심각한 제한, 사용자 경험 문제 및 성능 문제가 있습니다. 그들이 무엇인지, 그것들을 사용하는 방법을 아는 것이 중요하지만, 생산 웹 사이트에서는 많이 필요하지 않을 수 있습니다.
위 내용은 다양한 유형의 기본 JavaScript 팝업 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 게시물에서 Blackle Mori는 코 호스트의 HTML 지원의 한계를 추진하면서 발견 된 몇 가지 해킹을 보여줍니다. 감히 CSS 범죄자 라벨이 붙어 있지 않도록 감히 사용하십시오.

CSS가있는 커스텀 커서는 훌륭하지만 JavaScript를 사용하여 다음 단계로 가져갈 수 있습니다. JavaScript를 사용하면 커서 상태를 전환하고 커서 내에 동적 텍스트를 배치하고 복잡한 애니메이션을 적용하며 필터를 적용 할 수 있습니다.

2025 년에 서로를 ricocheting하는 요소가있는 대화식 CSS 애니메이션은 CSS에서 Pong을 구현할 필요가 없지만 CSS의 유연성과 힘이 증가하는 것은 LEE의 의심을 강화합니다.

CSS 배경 필터 속성을 사용하여 사용자 인터페이스 스타일에 대한 팁과 요령. 여러 요소들 사이에 필터를 배경으로 배경으로 배경으로하는 방법을 배우고 다른 CSS 그래픽 효과와 통합하여 정교한 디자인을 만듭니다.

글쎄, SVG '의 내장 애니메이션 기능은 계획대로 이상 사용되지 않았다. 물론 CSS와 JavaScript는 부하를 운반 할 수있는 것 이상이지만 Smil이 이전과 같이 물에서 죽지 않았다는 것을 아는 것이 좋습니다.

예, 텍스트-랩을위한 점프 : Safari Technology Preview의 예쁜 착륙! 그러나 Chromium 브라우저에서 작동하는 방식과는 다른 점을 조심하십시오.

이 CSS- 트릭 업데이트는 Almanac, 최근 Podcast 출연, 새로운 CSS 카운터 가이드 및 귀중한 컨텐츠에 기여하는 몇 가지 새로운 저자의 추가 진전을 강조합니다.

대부분의 경우 사람들은 Tailwind ' S 단일 프로퍼 유틸리티 중 하나 (단일 CSS 선언을 변경)와 함께 Tailwind ' s @apply 기능을 보여줍니다. 이런 식으로 선보일 때 @apply는 전혀 약속하는 소리가 들리지 않습니다. 그래서 Obvio


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
