1 2<html lang="ko"> 3<head> 4 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=1280"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 9 <title>ì리ì°ìµ - ê¹íì</title> 10 11 <link rel="icon" href="/img/favicon.ico" type="image/x-icon" /> 12 13 <link rel="manifest" href="/manifest.webmanifest"> 14 <meta name="theme-color" content="#0b1220"> 15 <link rel="apple-touch-icon" href="/img/pwa/apple-touch-icon.png"> 16 <meta name="apple-mobile-web-app-capable" content="yes"> 17 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> 18 <meta name="apple-mobile-web-app-title" content="ê¹íì"> 19 20 21 <meta name="description" content="ì¶ìµ ì íì ì°ìµì ê·í! ë±ë§ì°ìµ, ë¨ë¬¸ì°ìµ, 긴ê¸ì°ìµ, íê¸Â·ìì´ íìì°ìµê¹ì§ 모ë ê°ë¥í©ëë¤. ì¹ìì 무ë£ë¡ ì¦ê¸°ë ë í¸ë¡ íìê²ì!"> 22 <meta name="keywords" content="íìì°ìµ, ë±ë§ì°ìµ, ë¨ë¬¸ì°ìµ, 긴ê¸ì°ìµ, ì리ì°ìµ, íê¸íì, ìì´íì, AIíìì°ìµ, ì¨ë¼ì¸íì, íììë, íìê²ì, 무ë£íìì°ìµ, ìë´, ìì´ìë´, ì¬ìì±ì´, ë¶êµ, í무ë, ì ì¸, ì±ê²½, ê´ê³ ì¹´í¼, ì«ìì°ìµ, ê¹íì"> 23 <meta property="og:title" content="ì리ì°ìµ - ê¹íì" /> 24 <meta property="og:description" content="ì¹ìì ë¤ì ë§ëë íì ì°ìµ! ë±ë§Â·ë¨ë¬¸Â·ê¸´ê¸Â·ìì´Â·íê¸ ì°ìµê¹ì§. ê¹íììì ì§ê¸ ììíì¸ì!" /> 25 <meta property="og:type" content="website" /> 26 27 28 <meta property="og:image" content="https://kimtaja.com/img/img.jpg" /> 29 <meta property="og:url" content="https://kimtaja.com/" /> 30 <meta name="robots" content="index, follow"> 31 <link rel="canonical" href="https://kimtaja.com/" /> 32 33 <meta name="google-adsense-account" content="ca-pub-9766686538571280"> 34 35 36
36<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
36 37
37<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
37 38
38<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.js"></script>
38 39 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-modal/0.9.1/jquery.modal.min.css" /> 40 41
41<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
41 42 43 44 45 46 47 48 49 50 51 <link rel="stylesheet" href="/css/style.css?q=9158"> 52 53 54 55 56 57 58 59
59<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9766686538571280" crossorigin="anonymous"></script>
59 60 61 62 63
63<script src="https://adrianotiger.github.io/web-esheep/dist/esheep.min.js"></script>
63 64
64<script> 65 function addSheep(){ 66 var count = Math.floor(Math.random() * 10) + 2; 67 68 for (let i = 0; i < count; i++) { 69 setTimeout(function () { 70 var esheep = new eSheep(); 71 esheep.Start(); 72 }, i * 300); // 0.3ì´ ê°ê²© 73 } 74 } 75 //addSheep(); 76 </script>
76 77 78 79 80 81<!-- Google tag (gtag.js) 1-->
vendor: 64 bytes, lines 81-82
81 82<script async src="https://www.googletagmanager.com/gtag/js?id=
82G-1WPMZ857B9
vendor: 12 bytes, line 82
82"></script>
83<script> 84
vendor: 134 bytes, lines 84-88
84window.dataLayer = window.dataLayer || []; 85 function gtag(){dataLayer.push(arguments);} 86 gtag('js', new Date()); 87 88 gtag('config', '
88G-1WPMZ857B9
vendor: 4 bytes, line 88
88');
89</script>
89 90 91<!-- Google Tag Manager 2-->
92<script>
vendor: 327 bytes, lines 92-96
92(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 93new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 94j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 95'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 96})(window,document,'script','dataLayer','
96GTM-P2HH7RZV
vendor: 3 bytes, line 96
96');
96</script>
96 97<!-- End Google Tag Manager --> 98 99 100 101</head> 102 103<body> 104 105<style> 106 107 108.progress-container { 109 display: flex; 110 align-items: center; 111 margin-bottom: 0px; 112 background-color: #787878; 113 color: white; 114 padding: 0px; 115 border-radius: 0px; 116} 117 118.progress-label { 119 margin-right: 10px; 120} 121 122#progress_bar { 123 height: 26px; 124 background-color: #0A0090; 125 border-radius: 0px; 126 transition: width 0.3s ease; 127} 128 129.char-container { 130 display: flex; 131 flex-wrap: wrap; 132 justify-content: center; 133 margin: 20px 0 30px 0; 134 gap: 12px; 135} 136 137.char { 138 width: 90px; 139 height: 90px; 140 display: flex; 141 align-items: center; 142 justify-content: center; 143 font-size: 55px; 144 font-weight: bold; 145 border: 0px solid #ddd; 146 border-radius: 6px; 147 background-color: white; 148 transition: all 0.3s ease; 149} 150 151.char.on { 152 border: 5px solid #0A0090; 153 border-color: #0A0090; 154 color: #0A0090; 155 font-size: 65px; 156 transform: scale(1.1); 157} 158 159.char.ok { 160 background-color: #e0e0e0; 161 color: #777; 162 font-size: 55px; 163 border-color: #bbb; 164 transform: scale(1); 165 border: 0px solid #0A0090; 166} 167 168.keyboard { 169 border-radius: 8px; 170 padding: 10px; 171 margin: 20px 0 20px 0; 172} 173 174.key-row { 175 display: flex; 176 justify-content: center; 177 margin-bottom: 8px; 178} 179 180.key { 181 width: 70px; 182 height: 70px; 183 display: flex; 184 align-items: center; 185 justify-content: center; 186 margin: 0 2px; 187 background-color: white; 188 border: 0px solid #ccc; 189 border-radius: 4px; 190 font-size: 30px; 191 cursor: default; 192 user-select: none; 193 transition: all 0.2s ease; 194} 195 196.key.down { 197 background-color: #666; 198 color: white; 199 border-color: #333; 200 transform: translateY(2px); 201 font-size: 40px; 202} 203 204.setup-overlay { 205 position: absolute; 206 top: 0; 207 left: 0; 208 right: 0; 209 bottom: 0; 210 background-color: rgba(0, 0, 0, 0.15); 211 display: flex; 212 justify-content: center; 213 align-items: center; 214 z-index: 10; 215 border-radius: 8px; 216} 217 218.setup-box { 219 background-color: white; 220 padding: 20px 20px 10px 20px; 221 border-radius: 0px; 222 width: 100%; 223 max-width: 500px; 224 border: 1px solid #000; 225 box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); 226} 227 228.setup-title { 229 font-size: 25px; 230 font-weight: bold; 231 margin: 10px 0 25px 0; 232 text-align: center; 233} 234 235.option-group { 236 display: flex; 237 gap: 12px; /* ë²í¼ ì¬ì´ ì¬ë°± */ 238 margin-bottom: 16px; /* 그룹ë¼ë¦¬ ê°ê²© */ 239} 240 241.option-group label { 242 display: flex; 243 align-items: center; 244 gap: 4px; /* ì²´í¬ë°ì¤(ëë ë¼ëì¤)ì í ì¤í¸ ì¬ì´ ê°ê²© */ 245 font-size: 21px; 246 cursor: pointer; 247} 248 249 250.option-group input { 251 margin-right: 8px; 252} 253 254.key-visual { 255 margin: 15px 0; 256 text-align: center; 257 font-family: monospace; 258 font-size: 25px; 259 line-height: 0.9; 260 letter-spacing:0.1em; 261} 262 263.btn { 264 display: block; 265 width: 100%; 266 height: 45px; 267 background-color: #0A0090; 268 color: white; 269 border: none; 270 border-radius: 0px; 271 font-size: 23px; 272 font-weight: bold; 273 cursor: pointer; 274 transition: background-color 0.3s ease; 275 font-family: 'DOSMyungjo'; 276} 277 278.btn:hover { 279 background-color: #070064; 280} 281 282 283 284 285.foot {padding:15px 0 70px 0;float:left; font-size: 13px;color: #B2B2B2; letter-spacing:-0.04em;} 286.foot a{color: #595959;} 287</style> 288 289<input type="hidden" name="token" id="token" value="5c909b6a1efe91431f009ae30526c269"> 290 291 292<article class="clearfix"> 293 294 295 296 297 <section class="main260528" style="position:relative;"> 298 <div style="position:relative;top:2px;left:-95px;width:100px;border:0px solid red;"><a href="/pay.php" title="ê´ê³ ì ê±° ì´ì©ê¶"><img src="/img/ic_ad.png" width="100" alt="ê´ê³ ì ê±° ì´ì©ê¶" style="transform:rotate(15deg);"></a></div> 299<!-- <div style="position:relative;top:-59px;left:500px;width:720px;z-index:1000;color:#fff;font-size:20px;text-align:right;border:0px solid red;"><iframe src="/simple_ticker.php" scrolling="no" frameborder="0" width="100%" height="28"></iframe></div>--> 300 <div style="position:relative;top:20px;left:-110px;width:130px;z-index: -100;border:0px solid red;"><a href="/login.php" title="ì ê· íìê°ì ê´ê³ ì ê±° 1ê°ì"><img src="/img/ic_login.png" width="130" alt="ì ê· íìê°ì ê´ê³ ì ê±° 1ê°ì" style="transform:rotate(9deg);"></a></div> 301 <table style="padding-top:48px;position:absolute;top:0px;left:0px"> 302 <tr> 303 <td><a href="/lic.php" title="íììë ì격ì¦"><img src="/img/bin.png" alt="íììë ì격ì¦" style="width:132px;height:40px;border:0px solid red;"></td> 304 <td><a href="/typing-practice.php" title="ì리ì°ìµ"><img src="/img/bin.png" alt="ì리ì°ìµ" style="width:87px;height:40px;border:0px solid red;"></td> 305 <td class="nav"> 306 <ul class="nav-menu"> 307 <li class="nav-item has-submenu"> 308 <a href="/short.php"><img src="/img/bin.png" alt="ë±ë§ì°ìµ" style="width:90px;height:40px;border:0px solid red;"></a> 309 <div class="submenu" style="width: 508px;"> 310 <table cellpadding="0" cellspacing="0" border="0" width="100%"> 311 <tr> 312 <td> 313 <div style="padding:4px 0 0 -3px"><a href="/short.php"><img src="/img/submenu_1.png" alt="ë±ë§ì°ìµ" style="width:254px;"></a></div> 314 <div><a href="/keyword.php"><img src="/img/submenu_keyword3.png" alt="AI í¤ìë" style="width:254px;"></a></div> 315 <div><a href="/worde.php"><img src="/img/submenu_2.png" alt="ì´ë±ìì´ë¨ì´" style="width:254px;"></a></div> 316 <div><a href="/wordm.php"><img src="/img/submenu_3.png" alt="ì¤ë±ìì´ë¨ì´" style="width:254px;"></a></div> 317 <div><a href="/wordh.php"><img src="/img/submenu_4.png" alt="ê³ ë±ìì´ë¨ì´" style="width:254px;"></a></div> 318 <div><a href="/food.php"><img src="/img/submenu_food.png" alt="ìì" style="width:254px;"></a></div> 319 <div><a href="/animal.php"><img src="/img/submenu_animal.png" alt="ë물" style="width:254px;"></a></div> 320 <div><a href="/job.php"><img src="/img/submenu_job.png" alt="ìì " style="width:254px;"></a></div> 321 <div><a href="/flower.php"><img src="/img/submenu_flower.png" alt="ê½" style="width:254px;"></a></div> 322 <div><a href="/computer.php"><img src="/img/submenu_com.png" alt="ì»´í¨í°" style="width:254px;"></a></div> 323 <div><a href="/nature.php"><img src="/img/submenu_nature.png" alt="ìì°" style="width:254px;"></a></div> 324 <div><a href="/education.php"><img src="/img/submenu_education.png" alt="êµì¡&íìµ" style="width:254px;"></a></div> 325 <div><a href="/travel.php"><img src="/img/submenu_travel.png" alt="ì¸ê³ì¬í" style="width:254px;"></a></div> 326 <div><a href="/sudo.php"><img src="/img/submenu_sudo.png" alt="ìë" style="width:254px;"></a></div> 327 <div><a href="/city.php"><img src="/img/submenu_city2.png" alt="CITY" style="width:254px;"></a></div> 328 </td> 329 <td> 330 <div style="padding:4px 0 0 -3px"><a href="/element.php"><img src="/img/submenu_element.png" alt="ìì 118" style="width:254px;"></a></div> 331 <div><a href="/1988.php"><img src="/img/submenu_881.png" alt="ìëµíë¼ 1988" style="width:254px;"></a></div> 332 <div><a href="/wildsing.php"><img src="/img/submenu_ws.png" alt="ìì¼ë ì½" style="width:254px;"></a></div> 333 <div><a href="/celebrity.php"><img src="/img/submenu_celebrity.png" alt="ì ëª ì¸" style="width:254px;"></a></div> 334 <div><a href="/subway.php"><img src="/img/submenu_subway.png" alt="ì§íì² ì" style="width:254px;"></a></div> 335 <div><a href="/jiyeog.php"><img src="/img/submenu_jiyeog.png" alt="íì 구ì" style="width:254px;"></a></div> 336 <div><a href="/sajaseongeo.php"><img src="/img/submenu_5.png" alt="ì¬ìì±ì´" style="width:254px;"></a></div> 337 <div><a href="/thousand.php"><img src="/img/submenu_t.png" alt="ì²ì문" style="width:254px;"></a></div> 338 <div><a href="/gugudan.php"><img src="/img/submenu_ggd.png" alt="구구ë¨" style="width:254px;"></a></div> 339 <div><a href="/number.php"><img src="/img/submenu_num.png" alt="ì«ì" style="width:254px;"></a></div> 340 <div><a href="/constellation.php"><img src="/img/submenu_constellation.png" alt="CONSTELLATIONS" style="width:254px;"></a></div> 341 <div><a href="/symbol.php"><img src="/img/submenu_symbol.png" alt="í¹ì문ì" style="width:254px;"></a></div> 342 <div><a href="/uppercase.php"><img src="/img/submenu_upp.png" alt="UPPERCASE" style="width:254px;"></a></div> 343 <div><a href="/lowercase.php"><img src="/img/submenu_low1.png" alt="lowercase" style="width:254px;"></a></div> 344 <div><a href="/joseon.php"><img src="/img/submenu_king.png" alt="ì¡°ì ìì¡°" style="width:254px;"></a></div> 345<!-- <div><a href="/"><img src="/img/submenu_bin.png" alt="" style="width:254px;"></a></div>--> 346 </td> 347 </tr> 348 </table> 349 </div> 350 </li> 351 </ul> 352 </td> 353 <td><a href="/?c=2007" title="ìë´2007"><img src="/img/bin.png" alt="ìë´2007" style="width:90px;height:40px;border:0px solid red;"></a></td> 354 <td><a href="/?c=enproverb" title="ìì´ìë´"><img src="/img/bin.png" alt="ìì´ìë´" style="width:133px;
354height:40px;border:0px solid red;"></a></td> 355 <td><a href="/?c=history" title="íêµì¬"><img src="/img/bin.png" alt="íêµì¬" style="width:115px;height:40px;border:0px solid red;"></a></td> 356 <td><a href="/?c=buddhism" title="ë¶êµ"><img src="/img/bin.png" alt="ë¶êµ" style="width:89px;height:40px;border:0px solid red;"></a></td> 357 <td><a href="/?c=jameon" title="ì ì¸"><img src="/img/bin.png" alt="ì ì¸" style="width:87px;height:40px;border:0px solid red;"></a></td> 358 <td><a href="/long.php" title="긴ê¸ì°ìµ"><img src="/img/bin.png" alt="긴ê¸ì°ìµ" style="width:88px;height:40px;border:0px solid red;"></a></td> 359 <td class="nav"> 360 <ul class="nav-menu"> 361 <li class="nav-item has-submenu"> 362 <a href="/game.php" title="ì°ì±ë¹"><img src="/img/bin.png" alt="ì°ì±ë¹" style="width:90px;height:40px;border:0px solid red;"></a> 363 <div class="submenu"> 364 <div style="padding:4px 0 0 -4px"><a href="/chat.php"><img src="/img/submenu_chat.png" alt="ëíì°½" style="width:254px;"></a></div> 365 <div><a href="/chat-game.php" target="_blank"><img src="/img/submenu_chat_game.png" alt="ì±í ê²ì" style="width:254px;"></a></div> 366 <div><a href="/balloon.php"><img src="/img/submenu_balloon.png" alt="ì´ê¸°êµ¬" style="width:254px;"></a></div> 367 <div><a href="/balloone.php"><img src="/img/submenu_balloone.png" alt="BALLOON" style="width:254px;"></a></div> 368 <div><a href="/game.php"><img src="/img/rain.png" alt="ì°ì±ë¹" style="width:254px;"></a></div> 369 <div><a href="/bible.php"><img src="/img/submenu_bible.png" alt="ì°ì±ë¹-ì±ê²½" style="width:254px;"></a></div> 370 <div><a href="/buddhism.php"><img src="/img/submenu_buddhism.png" alt="ì°ì±ë¹-ë¶êµ" style="width:254px;"></a></div> 371 <div><a href="/gamee.php"><img src="/img/submenu_acidrain.png" alt="ACIDRAIN" style="width:254px;"></a></div> 372 <div><a href="/jawonkaegi.php"><img src="/img/submenu_resource_collecting.png" alt="ìììºê¸°" style="width:254px;"></a></div> 373 <div><a href="/resource-collecting.php"><img src="/img/submenu_resource_collecting1.png" alt="RESOURCE COLLECTING" style="width:254px;"></a></div> 374 <div><a href="/dudeoji.php"><img src="/img/submenu_d.png" alt="ëëì§" style="width:254px;"></a></div> 375 <div><a href="/num.php"><img src="/img/submenu_n.png" alt="ì«ìí ë§ì¶ê¸°" style="width:254px;"></a></div> 376 <div><a href="/air.php"><img src="/img/submenu_a1.png" alt="ë¹í기" style="width:254px;"></a></div> 377 <div><a href="/taegbae.php"><img src="/img/submenu_tb.png" alt="íë°° ë¶ë¥" style="width:254px;"></a></div> 378 <div><a href="/yeonseubjang.php"><img src="/img/submenu_y.png" alt="ì°ìµì¥" style="width:254px;"></a></div> 379 </div> 380 </li> 381 </ul> 382 </td> 383 <td><a href="/record.php" title="íµê³"><img src="/img/bin.png" alt="íµê³" style="width:89px;height:40px;border:0px solid red;"></a></td> 384 <td><a href="/pay.php" title="ê´ê³ ì ê±° ì´ì©ê¶"><img src="/img/bin.png" alt="ê´ê³ ì ê±° ì´ì©ê¶" style="width:90px;height:40px;border:0px solid red;"></td> 385 </tr> 386 </table> 387 </section> 388 389 390 391 392 393 <section class="bg"> 394 395 <section class="typing-area-t"> 396 397 398 <section class=area-typing1-t> 399 <div style="float:right;padding: 15px 16px 0 0;text-align: right;"><a href="/typing-practice.php"><img src="/img/close.png"></a></div> 400 </section> 401 <section class="area-bg-t"> 402 403 <div class="container_" id="con_a"> 404 405 <div class="char-container" id="char_a"> 406 <div id="c_0" class="char on">A</div> 407 <div id="c_1" class="char">S</div> 408 <div id="c_2" class="char">D</div> 409 <div id="c_3" class="char">F</div> 410 <div id="c_4" class="char">H</div> 411 <div id="c_5" class="char">G</div> 412 <div id="c_6" class="char">L</div> 413 <div id="c_7" class="char">K</div> 414 </div> 415 416 <div class="keyboard" id="kbd_a"> 417 <div class="key-row"><div class="key" id="k_1">1</div><div class="key" id="k_2">2</div><div class="key" id="k_3">3</div><div class="key" id="k_4">4</div><div class="key" id="k_5">5</div><div class="key" id="k_6">6</div><div class="key" id="k_7">7</div><div class="key" id="k_8">8</div><div class="key" id="k_9">9</div><div class="key" id="k_0">0</div><div class="key">-</div><div class="key">=</div><div class="key">\</div></div><div class="key-row"><div class="key" id="k_Q">ã </div><div class="key" id="k_W">ã </div><div class="key" id="k_E">ã·</div><div class="key" id="k_R">ã±</div><div class="key" id="k_T">ã </div><div class="key" id="k_Y">ã </div><div class="key" id="k_U">ã </div><div class="key" id="k_I">ã </div><div class="key" id="k_O">ã </div><div class="key" id="k_P">ã </div><div class="key">[</div><div class="key">]</div></div><div class="key-row"><div class="key" id="k_A">ã </div><div class="key" id="k_S">ã´</div><div class="key" id="k_D">ã </div><div class="key" id="k_F">ã¹</div><div class="key" id="k_G">ã </div><div class="key" id="k_H">ã </div><div class="key" id="k_J">ã </div><div class="key" id="k_K">ã </div><div class="key" id="k_L">
417ã £</div><div class="key">;</div><div class="key">'</div></div><div class="key-row"><div class="key" id="k_Z">ã </div><div class="key" id="k_X">ã </div><div class="key" id="k_C">ã </div><div class="key" id="k_V">ã </div><div class="key" id="k_B">ã </div><div class="key" id="k_N">ã </div><div class="key" id="k_M">ã ¡</div><div class="key">,</div><div class="key">.</div><div class="key">/</div></div> 418 </div> 419 420 421 <div class="setup-overlay" id="setup_ct"> 422 <div class="setup-box"> 423 <form name="setup_f1" onsubmit="return false;"> 424 <p class="setup-title">ì°ìµí ì¸ì´ì ì리를 ì ííì¸ì.</p> 425 426 <div class="option-group"> 427 <label><input type="radio" name="kl" value="0" checked onclick="typingApp.selKeyL(0)"/> íê¸</label> 428 <label><input type="radio" name="kl" value="1" onclick="typingApp.selKeyL(1)"/> English</label> 429 </div> 430 431 <div class="option-group"> 432 <label><input type="radio" name="kp" checked onclick="typingApp.selKeyP(0)"/> ì¤ê°</label> 433 <label><input type="radio" name="kp" onclick="typingApp.selKeyP(1)"/> ìë</label> 434 <label><input type="radio" name="kp" onclick="typingApp.selKeyP(2)"/> ì</label> 435 <label><input type="radio" name="kp" onclick="typingApp.selKeyP(3)"/> 모ë</label> 436 <label><input type="radio" name="kp" onclick="typingApp.selKeyP(4)"/> ì«ì</label> 437 </div> 438 439 <div class="key-visual" id="keyp_a">í¤ë³´ëì리</div> 440 441 <button type="button" class="btn" onclick="typingApp.start()">ìì</button> 442 </form> 443 </div> 444 </div> 445 446 <div class="progress-container"> 447 <span id="progress_bar" style="width: 0%"></span> 448 </div> 449 </div> 450 451 </section> 452 <section> 453 <img src="/img/typing4t.png"> 454 </section> 455 456 457 </section> 458 </section> 459 <section class="main2_"> 460 <section style="float:left;padding: 4px 0 0 17px;width: 170px;font-size: 30px; border: 0px solid red;"> 461 <span id="composing">íê¸-2</span> 462 </section> 463 <section style="float:right;padding:6px 18px 0 0;border:0px solid red"> 464 <p id="clock"></p> 465 </section> 466 </section> 467</article> 468 469 470 471 472
473<script> 474 const typingApp = { 475 // í¤ë³´ë ì ë³´ 476 keyInfo: [ 477 { // íê¸ 478 keys: [ 479 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', "\\"], 480 ['ã ', 'ã ', 'ã·', 'ã±', 'ã ', 'ã ', 'ã ', 'ã ', 'ã ', 'ã ', '[', ']'], 481 ['ã ', 'ã´', 'ã ', 'ã¹', 'ã ', 'ã ', 'ã ', 'ã ', 'ã £', ';', "'"], 482 ['ã ', 'ã ', 'ã ', 'ã ', 'ã ', 'ã ', 'ã ¡', ',', '.', '/'] 483 ], 484 levels: [ 485 'ã ã´ã ã¹ã ã ã ã ã £', // 1ë¨ê³ 486 'ã ã ã ã ã ã ã ¡', // 2ë¨ê³ 487 'ã ã ã·ã±ã ã ã ã ã ã ', // 3ë¨ê³ 488 'ã ã´ã ã¹ã ã ã ã ã £ã ã ã ã ã ã ã ¡ã ã ã·ã±ã ã ã ã ã ã ', // 4ë¨ê³ 489 '1234567890' // 5ë¨ê³ 490 ] 491 }, 492 { // ìì´ 493 keys: [ 494 ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', "\\"], 495 ['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '[', ']'], 496 ['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ';', "'"], 497 ['Z', 'X', 'C', 'V', 'B', 'N', 'M', ',', '.', '/'] 498 ], 499 levels: [ 500 'ASDFGHJKL', // 1ë¨ê³ 501 'ZXCVBNM', // 2ë¨ê³ 502 'QWERTYUIOP', // 3ë¨ê³ 503 'ASDFGHJKLZXCVBNMQWERTYUIOP', // 4ë¨ê³ 504 '1234567890' // 5ë¨ê³ 505 ] 506 } 507 ], 508 509 // ê³µíµ ë 벨 ì ë³´ (í¤ ë¹êµì©) 510 commonLevels: [ 511 'ASDFGHJKL', // 1ë¨ê³ 512 'ZXCVBNM', // 2ë¨ê³ 513 'QWERTYUIOP', // 3ë¨ê³ 514 'ASDFGHJKLZXCVBNMQWERTYUIOP', // 4ë¨ê³ 515 '1234567890' // 5ë¨ê³ 516 ], 517 518 // ì¼ìì¼ë¡ ë르ë í¤ë¤ 519 leftHandKeys: 'QWERTASDFGZXCVB123456', 520 521 // ì± ìí 522 currentKeys: [], 523 currentChars: [], 524 currentKeyCodes: [], 525 currentCharIndex: -1, 526 isRunning: false, 527 language: 0, // 0: íê¸, 1: ìì´ 528 level: 0, 529 levelCount: 0, 530 levelLimit: 8*6, 531 532 // ì´ê¸°í 533 init() { 534 document.getElementById('keyp_a').innerHTML = this.drawKeyboardPosition(0); 535 this.showSetup(); 536 }, 537 538 // í¤ë³´ë ìì± 539 createKeyboard() { 540 const keyboardEl = document.getElementById('kbd_a'); 541 const keys = this.keyInfo[this.language].keys; 542 const englishKeys = this.keyInfo[1].keys; // ìì´ í¤ ì½ë ì°¸ì¡°ì© 543 544 let html = ''; 545 546 // í¤ë³´ë íë³ë¡ ìì± 547 keys.forEach((row, rowIndex) => { 548 html += `<div class="key-row">`; 549 550 row.forEach((key, keyIndex) => { 551 // ìì´ í¤ ì½ë를 IDë¡ ì¬ì© (íê¸/ìì´ ê³µíµ) 552 const keyCode = englishKeys[rowIndex][keyIndex]; 553 const keyId = keyIndex < (rowIndex === 0 ? 10 : 554 rowIndex === 1 ? 10 : 555 rowIndex === 2 ? 9 : 7) ? `id="k_${keyCode}"` : ''; 556 557 html += `<div class="key" ${keyId}>${key}</div>`; 558 }); 559 560 html += `</div>`; 561 }); 562 563 keyboardEl.innerHTML = html; 564 }, 565 566 // í¤ ë¤ì´ ì´ë²¤í¸ ì²ë¦¬ 567 handleKeyDown(event) { 568 569 if (this.language === 0) { 570 document.getElementById("composing").innerHTML = "íê¸-2"; 571 } else if (this.language === 1) { 572 document.getElementById("composing").innerHTML = "ì문-미"; 573 } 574 575 if (!this.isRunning) return; 576 if (this.currentCharIndex > 7) { 577 this.start(); 578 return; 579 } 580 581 const pressedKey = event.key.toUpperCase(); 582 const expectedKey = this.currentKeyCodes[this.currentCharIndex]; 583 584 if (pressedKey === expectedKey) { 585 // ì íí í¤ ì ë ¥ 586 document.getElementById(`c_${this.currentCharIndex}`).classList.add('ok'); 587 document.getElementById(`k_${pressedKey}`).classList.remove('down'); 588 589 this.currentCharIndex++; 590 this.levelCount++; 591 592 if (this.currentCharIndex > 7) { 593 if (this.levelCount >= this.levelLimit) { 594 595 $.ajax({ 596 url: "./update_typing_practice.php", 597 data: { 'token': $("#token").val() }, 598 type: "POST", 599 dataType: 'json', 600 async: false, 601 cache: false, 602 success: function(resp) { 603 //console.log(resp); 604 $("#token").val(resp.csrf_token); 605 startCrazyFireworks(); 606 } 607 }); 608 609 this.isRunning = false;
610 this.showSetup(); 611 return; 612 } 613 this.start(); 614 } else { 615 document.getElementById(`c_${this.currentCharIndex}`).classList.add('on'); 616 this.highlightCurrentKey(); 617 } 618 619 this.updateProgress(); 620 } 621 }, 622 623 // ìì í¨ì 624 start() { 625 this.createKeyboard(); 626 document.getElementById('setup_ct').style.display = 'none'; 627 628 // ì íë ë 벨 íì¸ 629 const levelInputs = document.forms['setup_f1'].elements['kp']; 630 let selectedLevel = 0; 631 for (let i = 0; i < levelInputs.length; i++) { 632 if (levelInputs[i].checked) { 633 selectedLevel = i; 634 break; 635 } 636 } 637 this.level = selectedLevel; 638 639 // ëë¤ ë¬¸ì ì í 640 const levelChars = this.keyInfo[this.language].levels[this.level]; 641 const levelLength = levelChars.length; 642 643 this.currentChars = []; 644 this.currentKeyCodes = []; 645 646 for (let i = 0; i < 8; i++) { 647 const randomIndex = Math.floor(Math.random() * levelLength); 648 this.currentChars[i] = levelChars[randomIndex]; 649 this.currentKeyCodes[i] = this.commonLevels[this.level][randomIndex]; 650 } 651 652 // 문ì íì ì ë°ì´í¸ 653 let charsHtml = ''; 654 for (let i = 0; i < 8; i++) { 655 charsHtml += `<div id="c_${i}" class="char">${this.currentChars[i]}</div>`; 656 } 657 document.getElementById('char_a').innerHTML = charsHtml; 658 659 this.currentCharIndex = 0; 660 this.isRunning = true; 661 662 document.getElementById('c_0').classList.add('on'); 663 this.highlightCurrentKey(); 664 this.updateProgress(); 665 666 // í¤ë³´ë ì´ë²¤í¸ 리ì¤ë ì¤ì 667 document.onkeydown = (e) => this.handleKeyDown(e); 668 }, 669 670 // íì¬ í¤ íì´ë¼ì´í¸ 671 highlightCurrentKey() { 672 const currentKey = this.currentKeyCodes[this.currentCharIndex]; 673 document.getElementById(`k_${currentKey}
673`).classList.add('down'); 674 }, 675 676 // ì§íë¥ ì ë°ì´í¸ 677 updateProgress() { 678 const progress = Math.min(Math.floor((this.levelCount / this.levelLimit) * 100), 100); 679 document.getElementById('progress_bar').style.width = `${progress}%`; 680 }, 681 682 // ì¤ì íë©´ íì 683 showSetup() { 684 this.levelCount = 0; 685 document.getElementById('setup_ct').style.display = 'flex'; 686 this.updateProgress(); 687 }, 688 689 // í¤ë³´ë ìì¹ ìê°í 690 drawKeyboardPosition(level) { 691 let html = '<div class="key-visual">'; 692 693 // ê° íë³ë¡ íì (ììì ìëë¡) 694 html += '<div style="margin-left:-9px">'; 695 html += level === 4 ? 'â â â â â â â â â â â â ' : 'â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡'; 696 html += '</div>'; 697 698 html += '<div>'; 699 html += (level === 2 || level === 3) ? 'â â â â â â â â â â â â ' : 'â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡'; 700 html += '</div>'; 701 702 html += '<div>'; 703 html += (level === 0 || level === 3) ? 'â â â â â â â â â â â ' : 'â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡'; 704 html += '</div>'; 705 706 html += '<div>'; 707 html += (level === 1 || level === 3) ? 'â â â â â â â â â â ' : 'â¡â¡â¡â¡â¡â¡â¡â¡â¡â¡'; 708 html += '</div>'; 709 710 html += '</div>'; 711 return html; 712 }, 713 714 // í¤ë³´ë ìì¹ ì í 715 selKeyP(level) { 716 document.getElementById('keyp_a').innerHTML = this.drawKeyboardPosition(level); 717 }, 718 719 // ì¸ì´ ì í 720 selKeyL(language) { 721 this.language = language; 722 } 723 }; 724 725 726 727 728 729 function pushZero(t, e) { 730 let s = ""; 731 t = t.toString(); 732 if (t.length < e) { 733 for (let n = 0; n < e - t.length; n++) s += "0"; 734 } 735 return s + t; 736 } 737 738 function twsClock() { 739 let t = new Date(); 740 let e = t.getFullYear() + "-" + pushZero(t.getMonth() + 1, 2) + "-" + pushZero(t.getDate(), 2); 741 let s = pushZero(t.getHours(), 2) + ":" + pushZero(t.getMinutes(), 2) + ":" + pushZero(t.getSeconds(), 2); 742 743 $("#clock").html(s); 744 } 745 746 747 748 749 // ì± ì´ê¸°í 750 window.onload = function() { 751 typingApp.init(); 752 753 setInterval(twsClock, 1000); 754 }; 755 756 document.addEventListener("keydown", function (e) { 757 if (e.key === "Escape") { 758 //location.reload(); // íì´ì§ ìë¡ê³ 침 759 setTimeout("document.location = '/typing-practice.php'", 200); 760 } 761 }); 762</script>
762 763 764 765 766 767 768 769<footer> 770 771</footer> 772 773 774 775 776<div class="left-top-banner"> 777 <button onclick="zoomOut()" class="zoom-buttons">ì¶ì -</button> 778 <button onclick="zoomIn()" class="zoom-buttons">íë +</button> 779 <button onclick="resetZoom()" class="zoom-buttons">ì´ê¸°í</button> 780 <button onclick="window.open('https://kimtaja.netlify.app', '_blank');" class="zoom-buttons">ëì¤ì© íìì°ìµ</button> 781 </div> 782 783 784 785 786<div id="ex1" class="modal" style="width:610px;max-width:610px;"> 787 <div style="padding:20px; font-size:20px"> 788 ê¸ê¼´(í°í¸)ë¡ ëì¤ì물체(leedheo ì ì)를 ì¬ì©íììµëë¤. : <a target="_blank" href="https://github.com/hurss/fonts">https://github.com/hurss/fonts</a><br> 789 ã¿ãµãããã - ãããããªé¡ã¢ã¤ã³ã³ : <a target="_blank" href="https://www.irasutoya.com/2014/10/faceicons.html">https://www.irasutoya.com/2014/10/faceicons.html</a><br> 790 ë¹í주리 - ê°ìíê¸ ì±ê²½ì ì : <a target="_blank" href="https://sir.kr/g5_plugin/13325">https://sir.kr/g5_plugin/13325</a><br> 791 ê³ ë - êµì¡ë¶ íì ì´ë±ìë¨ì´ 800 : <a target="_blank" href="https://blog.naver.com/tonya83/223880500959">https://blog.naver.com/tonya83/223880500959</a><br> 792 ë°±ì¤ - ì¤ë± íì ìë¨ì´ 1800 : <a target="_blank" href="https://blog.naver.com/song5552005/221324031747">https://blog.naver.com/song5552005/221324031747</a><br> 793 ì½ìì´íì - 2025 ìë¥í¹ê° ìì´ ë¨ì´ : <a target="_blank" href="https://blog.naver.com/cog_english/223348782431">https://blog.naver.com/cog_english/223348782431</a><br> 794 긴ê¸ì°ìµ : 795 <a target="_blank" href="https://gongu.copyright.or.kr/gongu/wrt/wrtCl/listWrtText.do?menuNo=200019&sortSe=popular&licenseCd=97">https://gongu.copyright.or.kr</a><br> 796 ì¸ì¢ ì¤ë¡ 1ê¶ ì´ì : <a target="_blank" href="http://sillok.history.go.kr/id/kda_000">http://sillok.history.go.kr/</a><br> 797 ìë í¸ì - 'ëì ì¬ì' ë± 5ê±´ : <a target="_blank" href="https://blog.naver.com/thinkwalden/222690249231">https://blog.naver.com/thinkwalden</a><br> 798 íêµë§ ë°ì ì°ìµ : <a target="_blank" href="https://blog.naver.com/hamggeham_24/223024012312">https://blog.naver.com/hamggeham_24/223024012312</a><br> 799 ì¤íìì¤ ê°ì¬ ë°ì´í°ë² ì´ì¤ ë° API ìë¹ì¤ : <a target="_blank" href="https://lrclib.net/docs">https://lrclib.net/docs</a> 800 </div> 801</div> 802 803 804 805 806 807 808 809<div style="position: absolute;bottom: 60px;right: 20px;z-index: -100"><iframe src="" width="0" height="0" id="iframe_download" name="iframe_download"></iframe></div> 810 811 812<div class="login-picker" style=""> 813 814 815 <a href="/login.php">íìê°ì </a> | <a href="/login.php">ë¡ê·¸ì¸</a> | <a href="/excel.php">ìì í ë§</a> 816 | 817 818 <select id="typing_select" name="typing_select" style="width:80px"> 819 <option value="proverb" >ìë´1997</option> 820 <option value="2007" >ìë´2007</option> 821 <option value="history" >íêµì¬</option> 822 <option value="whistory" >ì¸ê³ì¬</option> 823 <option value="enproverb" >ìì´ìë´</option> 824 <option value="city" >ëì</option> 825 <option value="buddhism" >ë¶êµ</option> 826 <option value="bible" >ì±ê²½</option> 827 <option value="jameon" >ì ì¸</option> 828 <option value="talmud" >í무ë</option> 829 <option value="advert" >ê´ê³ ì¹´í¼</option> 830 <option value="celebrity" >ì ëª ì¸</option> 831 <option value="word" >ë±ë§ì°ìµ</option> 832 <option value="car" >ìëì°¨</option> 833 <option value="jiyeog" >íì 구ì</option> 834 <option value="number" >ì«ì</option> 835 <option value="healing" >ìë¡/íë§</option> 836 <option value="motivation" >ë기ë¶ì¬</option> 837 <option value="love" >ì¬ë</option> 838 <option value="literature" >문í</option> 839 <option value="uppercase" >UPPERCASE</option> 840 <option value="lowercase" >lowercase</option> 841 842 </select> 843</div> 844 845 846<div class="left-bottom-banner"> 847 <a href="chat.php">ëíì°½ <span class="player-cnt">0</span></a> | 848 <a href="javascript:;" onclick="addSheep();">ì</a> | 849 <!--<a href="https://maily.so/taja" target="_blank">ë´ì¤ë í°</a> | --><a href="https://docs.google.com/forms/d/e/1FAIpQLSeBJ3OZ3b7h-SOsz9R81bjbftHIK99g-t9T6YahSMK2tG4rlw/viewform?usp=sharing&ouid=113866833174265193938" target="_blank">문ì ë° ì¤íì ì ë³´</a> | 850 <!--<a href="/video.php" target="_blank">íë©´ë ¹í</a> | --><a href="#ex1" rel="modal:open" title="ëìë§">ëìë§</a> 851</div> 852 853<div class="color-picker"> 854 <!--<div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;
854width:95px;height:18px;float:left;background:#FAE100;text-align:center;padding-top:3px"><a id="kakaotalk-sharing-btn" style="color:#000" href="javascript:;">ì¹´ì¹´ì¤í¡ ê³µì í기</a></div>--> 855 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#008080;cursor:pointer" onclick="changeColor('#008080')"></div> 856 <!-- <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#000000;cursor:pointer" onclick="changeColor('#000000')"></div>--> 857 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#787878;cursor:pointer" onclick="changeColor('#787878')"></div> 858 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#0a3b76;cursor:pointer" onclick="changeColor('#0a3b76')"></div> 859 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#000090;cursor:pointer" onclick="changeColor('#000090')"></div> 860 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#0076a3;cursor:pointer" onclick="changeColor('#0076a3')"></div> 861 <!-- <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:20px;height:20px;float:left;background:#00a99d;" onclick="changeColor('#00a99d')"></div>--> 862 <div style="border-top:1px solid #000;border-left:1px solid #000; border-bottom:1px solid #000;width:18px;height:18px;float:left;background:#82ca9c;cursor:pointer" onclick="changeColor('#82ca9c')"></div> 863 <div style="border:1px solid #000;width:18px;height:18px;float:left;background:#ffffff;cursor:pointer" onclick="changeColor('#ffffff')"></div> 864</div> 865<div class="footer-info"> 866 ê³µëì¤ë¹ | ëí: íìì¹ | ì¬ì ìë±ë¡ë²í¸: 511-25-94506<br> 867 íµì í매ì : 2025-ì¸ì²ë¶í-1990 | 010-6531-4874 | ì¸ì² ë¶í구 ê°ìëë¡ 34 868</div> 869 870 871 872 873 874 875 876 877 878 879 880 881 882 <div id="banner"> 883 884 885 <ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-9766686538571280" data-ad-slot="5197754610"></ins> 886
886<script> 887 (adsbygoogle = window.adsbygoogle || []).push({}); 888 </script>
888 889 890 891 </div> 892 893 894 895 896 897 898 899 900 901 902
902<script type="module"> 903 import { initializeApp } from "https://www.gstatic.com/firebasejs/12.14.0/firebase-app.js"; 904 905 import { 906 getDatabase, 907 ref, 908 onValue 909 } from "https://www.gstatic.com/firebasejs/12.14.0/firebase-database.js"; 910 911 import { 912 getAuth, 913 signInAnonymously, 914 onAuthStateChanged 915 } from "https://www.gstatic.com/firebasejs/12.14.0/firebase-auth.js"; 916 917 const firebaseConfig = { 918 apiKey: "AIzaSyA6AfyEYWK0kTUDPGBo5x4wCBmdy3OkIi8", 919 authDomain: "kimtaja-1b64f.firebaseapp.com", 920 databaseURL: "https://kimtaja-1b64f-default-rtdb.firebaseio.com", 921 projectId: "kimtaja-1b64f", 922 storageBucket: "kimtaja-1b64f.firebasestorage.app", 923 messagingSenderId: "744544564676", 924 appId: "1:744544564676:web:a4892201761da01962a091" 925 }; 926 927 const app = initializeApp(firebaseConfig); 928 const auth = getAuth(app); 929 const db = getDatabase(app); 930 931 const playerCnt = document.querySelector(".player-cnt"); 932 const allPlayersRef = ref(db, "players"); 933 934 signInAnonymously(auth) 935 .catch(error => { 936 console.error(error); 937 }); 938 939 onAuthStateChanged(auth, (user) => { 940 if (!user) return; 941 942 onValue(allPlayersRef, (snapshot) => { 943 const players = snapshot.val() || {}; 944 playerCnt.textContent = Object.keys(players).length; 945 }); 946 }); 947</script>
947 948 949
949<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/confetti.browser.min.js"></script>
949 950 951
951<script> 952 function startCrazyFireworks() { 953 const duration = 1000; // 1ì´ê° í죽 í°ì§ê² 954 const animationEnd = Date.now() + duration; 955 956 const colors = ['#bb0000', '#ffffff', '#00bbff', '#ffee00', '#00ff88']; 957 958 const interval = setInterval(function() { 959 const timeLeft = animationEnd - Date.now(); 960 961 if (timeLeft <= 0) { 962 clearInterval(interval); 963 return; 964 } 965 966 // íë©´ ì ììì ëë¤ ìì¹ì í죽 ìì± 967 confetti({ 968 particleCount: 50, 969 startVelocity: 30, 970 spread: 360, 971 ticks: 60, 972 origin: { 973 x: Math.random(), 974 y: Math.random() * 0.8 975 }, 976 colors: colors, 977 scalar: Math.random() * 1.2 + 0.8, 978 }); 979 }, 100); // 0.1ì´ë§ë¤ ê³ì í°ë¨ë¦¼ 980 } 981 982 983 984 985 986 987 988 function changeColor(color) { 989 $('body').css('background-color', color); 990 $.cookie('bgColor', color, { 991 expires: 365, 992 path: '/' 993 }); 994 } 995 996 function changeTyping(str) { 997 //$('body').css('background-color', str); 998 $.cookie('typing', str, { 999 expires: 365, 1000 path: '/' 1001 }); 1002 location.reload(); 1003 //location.replace("/"); 1004 } 1005 1006 let zoomLevel = localStorage.getItem("zoomLevel") 1007 ? parseFloat(localStorage.getItem("zoomLevel")) 1008 : 1; 1009 1010 // íì´ì§ ë¡ëì ì ì© 1011 document.body.style.zoom = zoomLevel; 1012 1013 // íë 1014 function zoomIn() { 1015 zoomLevel += 0.1; 1016 document.body.style.zoom = zoomLevel; 1017 localStorage.setItem("zoomLevel", zoomLevel); 1018 } 1019 1020 // ì¶ì 1021 function zoomOut() { 1022 zoomLevel -= 0.1; 1023 document.body.style.zoom = zoomLevel; 1024 localStorage.setItem("zoomLevel", zoomLevel); 1025 } 1026 1027 // ì´ê¸°í 1028 function resetZoom() { 1029 zoomLevel = 1; 1030 document.body.style.zoom = 1; 1031 localStorage.setItem("zoomLevel", zoomLevel); 1032 } 1033 1034 1035 1036 // íì´ì§ ë¡ë ì ì¿ í¤ìì ìì ê°ì ¸ìì ì ì© 1037 $(document).ready(function() { 1038 1039 var savedColor = $.cookie('bgColor'); 1040 if (savedColor) { 1041 $('body').css('background-color', savedColor); 1042 } else { 1043 $('body').css('background-color', '#008080'); 1044 } 1045 1046// setTimeout(function() { 1047// $('.start').focus(); 1048// }, 1500); 1049 1050 // $('#manual-ajax').click(function(event) { 1051 // event.preventDefault(); 1052 // this.blur(); 1053 // $.get(this.href, function(html) { 1054 // $(html).appendTo('body').modal(); 1055 // }); 1056 // }); 1057 1058 $("select[name=typing_select]").change(function() { 1059 location.href = "./change_typing.php?q=" + $(this).val(); 1060 }); 1061 1062 1063 $('a[href="#ex0"]').click(function(event) { 1064 event.preventDefault(); 1065 $(this).modal({ 1066 escapeClose: false, 1067 clickClose: false, 1068 showClose: true, 1069 fadeDuration: 150, 1070 // onClose: function () { 1071 // location.reload(); // 모ë¬ì´ ë«í ë ìë¡ê³ 침 1072 // } 1073 }); 1074 }); 1075 1076 $(document).on('modal:close', '#ex0', function() { 1077 location.reload(); 1078 }); 1079 1080 1081 $(".ipt").on("paste", function(event) { 1082 event.preventDefault(); 1083 console.log("ë¶ì¬ë£ê¸°ë ì¬ì©í ì ììµëë¤."); 1084 }); 1085 1086 $(".ipt").on("keydown", function(event) { 1087 if (event.ctrlKey && event.key.toLowerCase() === "v") { 1088 event.preventDefault(); 1089 console.log("ë¶ì¬ë£ê¸°ë ì¬ì©í ì ììµëë¤."); 1090 } 1091 }); 1092 1093 $(".ipt").on("input", function(event) { 1094 const val = $(this).val(); 1095 const lastChar = val.charAt(val.length - 1); 1096 1097 if (/[ê°-í£]/.test(lastChar)) { 1098 document.getElementById("composing").innerHTML = "íê¸-2"; 1099 } else if (/[a-zA-Z]/.test(lastChar)) { 1100 document.getElementById("composing").innerHTML = "ì문-미"; 1101 } 1102 }); 1103 1104 1105 $(document).on("selectstart", function(event) { 1106 event.preventDefault(); 1107 }); 1108 1109 // $(document).on("mousedown", function (event) { 1110 // event.preventDefault(); 1111 // }); 1112 1113 $(document).on("contextmenu", function(event) { 1114 event.preventDefault(); 1115 }); 1116 1117 1118 1119 $('#btnCopy').on('click', function() { 1120 const text = $('#txtCopy').text(); 1121 1122 if (!navigator.clipboard) { 1123 // 구í ë¸ë¼ì°ì fallback 1124 const $tempInput = $('<input>'); 1125 $('body').append($tempInput); 1126 $tempInput.val(text).select(); 1127 1128 const res = document.execCommand('copy'); 1129 $tempInput.remove(); 1130 1131 if (!res) { 1132 alert('ë³µì¬ì ì¤í¨íìµëë¤.'); 1133 } else { 1134 console.log(text); 1135 alert('주ìê° ë³µì¬ëììµëë¤.\nìíë ê³³ì ë¶ì¬ë£ê¸°(Ctrl+V)í´ì£¼ì¸ì.'); 1136 } 1137 } else { 1138 // ìµì ë¸ë¼ì°ì 1139 navigator.clipboard.writeText(text) 1140 .then(function() { 1141 console.log(text); 1142 alert('주ìê° ë³µì¬ëììµëë¤.\nìíë ê³³ì ë¶ì¬ë£ê¸°(Ctrl+V)í´ì£¼ì¸ì.'); 1143 }) 1144 .catch(function() { 1145 alert('ë³µì¬ì ì¤í¨íìµëë¤.'); 1146 }); 1147 } 1148 }); 1149 1150 1151 }); 1152 1153 $(window).on('load', function () { 1154 setTimeout(function () { 1155 $('.start').focus(); 1156 }, 200); 1157 }); 1158 </script>
1158 1159 1160 1161 1162 1163 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 1163-1164
1163 1164 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1164GTM-P2HH7RZV
vendor: 87 bytes, lines 1164-1165
1164" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1165
1165<!-- End Google Tag Manager (noscript) --> 1166 1167 1168 </body> 1169 1170 </html> 1171 1172 1173 1174 1175
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.