0:00:00.461,0:00:05.742 이제 '이벤트'를 가지고 할 수 있는 한가지를 더 보여드리겠습니다. 0:00:05.742,0:00:09.936 제가 만듣 이 웹사이트가 다음 질문에 답을 줍니다. 0:00:09.936,0:00:12.150 "오노우가 뭐라 말하는가?" 0:00:12.150,0:00:16.599 더 정확하게는 당신이 그가 말하는 것을 듣는다면 그의 소리는 어떠할까? 에 대한 답을요. 0:00:16.599,0:00:20.589 링크를 클릭하면 MP3 파일을 받을 수 있습니다. 0:00:20.589,0:00:25.163 그것은 웹브라우저에서 작동되고 그 질문에 대한 해답을 줍니다. 0:00:25.163,0:00:30.009 어쨌든, 사용자들이 이 웹사이트를 나가지 않기를 바랍니다. 0:00:30.009,0:00:33.445 이 페이지에서 바로 들을 수 있어야 합니다. 0:00:33.445,0:00:37.891 자바스크립으로 <오디오> 태그를 사용하여 만들 수 있습니다. 0:00:37.891,0:00:40.957 사용자들이 링크를 클릭하자마자 0:00:40.957,0:00:45.109 첫번째로, 변수에 링크를 걸어봅시다. 0:00:45.109,0:00:48.078 (타이핑하고 있음) 0:00:55.770,0:00:58.099 이제 되돌리기 함수를 정의해봅시다. 0:00:58.099,0:01:03.735 참 재밌을 거 같아요. 0:01:03.735,0:01:10.165 이 되돌리기 함수에서 우리는 오디오 태그를 다이나믹하게 만들 수 있습니다. 0:01:10.165,0:01:12.033 (타이핑하는 중) 0:01:15.816,0:01:19.825 그리고 이것은 새로운 웹브라우저에서 사용가능한 멋진 새로운 태그가 될 겁니다. 0:01:19.825,0:01:26.104 그리고 나서 오디오 . SRC 는 동일하게... 우리는 이것을 'href' 를 여기 위애 0:01:26.104,0:01:32.563 오디오 태그는 이지미 태그와 많이 흡사합니다. 0:01:32.563,0:01:37.335 그리고 나서 `audioEl.autoplay = true`,라고 쓰고 0:01:37.335,0:01:40.333 이것은 우리가 이걸 이 페이지에 덧붙이자 마자 작동되게 할 겁니다. 0:01:40.333,0:01:42.953 마침내, 이 페이지에 붙였습니다. 0:01:42.953,0:01:45.574 어디에 이 태그를 붙이느냐는 상관없습니다. 0:01:45.574,0:01:48.064 시각화하지 않을 거니까요. 0:01:48.064,0:01:52.295 이제 클릭하면 오디오를 생성하고, 소스를 셑한다음, 0:01:52.295,0:01:55.387 자동 플레이가 되고, 이 페이지에 붙여질 겁니다. 0:01:55.387,0:01:59.444 마지막으로, 링크가 클릭될 때 확실하게 0:01:59.444,0:02:01.376 이벤트리스너가 호출되도록 합니다. 0:02:01.376,0:02:03.723 (타이핑 하는 중) 0:02:08.283,0:02:12.951 그리고 나서, 함수이름은 건너뜁시다. 0:02:12.951,0:02:17.385 자, 시험해봅시다. 0:02:17.385,0:02:19.729 허밍 0:02:19.729,0:02:21.110 어떻게 되었나요? 0:02:21.110,0:02:26.337 저한테는 이 소리가 낮고 깊은 오노우의 툴툴거리는 소리로 들립니다. 0:02:26.337,0:02:29.789 링크가 여전히 새 윈도우에 오픈되었네요. 0:02:29.789,0:02:33.476 이상적으로는 한번 소리가 플레이되면 웹브라우저는 더이상 0:02:33.476,0:02:37.548 사용자가 링크되지 않게 하는 게 좋아요. 이미 들었으니까요. 이렇게 하려면 0:02:37.548,0:02:42.920 웹브라우저에게 이 이펄트 행위를 취소하라는 명령을 하면 됩니다. 0:02:42.920,0:02:47.148 자, 디펄트로 사용자가 링크를 클릭하면 0:02:47.148,0:02:50.321 웹브라우저는 사용자가 그 링크로 가게 합니다 0:02:50.321,0:02:54.226 만일 자바스크립에서 그 링크로 가는 길을 중단하려면 0:02:54.226,0:02:58.004 웹브라우저의 그 작동을 원치 않죠. 0:02:58.004,0:03:02.731 이벤트 프라퍼티에 `preventDefault()`.라는 메쏘드를 사용하여 0:03:02.731,0:03:05.299 중단시키라고 할 수 있습니다. 0:03:05.299,0:03:09.897 우리가 지나온 이벤트 압젝트에다 써야합니다. 0:03:09.897,0:03:15.830 여기 안에다가 `e.preventDefault();`라고 씁니다. 0:03:15.830,0:03:19.420 이것은 웹브라우저에게 이 디펄트행동(기본행위)를 하지말라고 명령합니다. 0:03:19.420,0:03:21.399 이 이벤트과 연관하여. 0:03:21.399,0:03:25.995 자 talk-through를 멈추고 다시 시험해봅시다. 0:03:25.995,0:03:28.385 지금 막 소리 들으셨죠? 0:03:28.385,0:03:30.949 이것은 훨씬 좋은 사용자 경험입니다. 0:03:30.949,0:03:34.959 이것을 "progressive enhancement"--점진적 증강, 진보적 확장 이라고 합니다. 0:03:34.959,0:03:39.514 웹페이지를 HTML로 디펄트 브라우저 행위로 시작하는 0:03:39.514,0:03:44.650 그리고 자바스크립으로 좀 더 풍부한 경험을 하게 확장하는 거죠. 0:03:44.650,0:03:48.361 당신은 리스너가 링크되도록 클릭하게 덧붙일 때 0:03:48.361,0:03:50.445 종종 이 `preventDefault`를 사용하게 됩니다 0:03:50.445,0:03:54.447 form processing 을 할 때도 이것을 사용할 수도 있습니다. 0:03:54.447,0:03:57.485 서버에 서브밑하려면, 0:03:57.485,0:03:59.264 브라우저가 디펄트 행동을 또 해야하기 떄문에 0:03:59.264,0:04:02.640 사용자 경험을 명심하고 웹사이트에서 사용자 경험이 옵션이 아니라면 0:04:02.640,0:04:06.730 브라우저가 디펄트 행동을 또 해야하기 떄문에 0:04:06.730,0:04:08.953 더 좋게 만드는 방법을 찾아내야 합니다. 0:04:08.953,0:04:11.366 여기서 모든 것을 가르쳐줄 수는 없지만 0:04:11.366,0:04:15.499 인터넷에는 수천 수만가지 답이 있습니다.