1<!DOCTYPE html> 2<html lang="en"> 3<head> 4
4<script type="text/javascript"> 5 window.dataLayer = window.dataLayer || []; 6 7 function gtag() { 8 dataLayer.push(arguments); 9 } 10 11 gtag("consent", "default", { 12 analytics_storage: "denied", 13 ad_storage: "denied", 14 ad_user_data: "denied", 15 ad_personalization: "denied", 16 personalization_storage: "denied", 17 functionality_storage: "granted", 18 security_storage: "granted", 19 wait_for_update: 500, 20 region: [ 21 "AT", "BE", "BG", "CH", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", 22 "DE", "GR", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", 23 "PL", "PT", "RO", "SK", "SI", "ES", "SE", "IS", "LI", "NO", 24 "GB" 25 ], 26 }); 27 28 gtag("consent", "default", { 29 analytics_storage: "granted", 30 ad_storage: "granted", 31 ad_user_data: "granted", 32 ad_personalization: "granted", 33 personalization_storage: "granted", 34 functionality_storage: "granted", 35 security_storage: "granted", 36 }); 37</script>
37 38 39<!-- InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.3) -->
40<script type="text/javascript"> 41 (function () { 42 var uspTries = 0; 43 var uspTriesLimit = 3; 44 45 function makeStub() { 46 var TCF_LOCATOR_NAME = '__tcfapiLocator'; 47 var queue = []; 48 var win = window; 49 var cmpFrame; 50 51 function addFrame() { 52 var doc = win.document; 53 var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]); 54 55 if (!otherCMP) { 56 if (doc.body) { 57 var iframe = doc.createElement('iframe'); 58 59 iframe.style.cssText = 'display:none'; 60 iframe.name = TCF_LOCATOR_NAME; 61 doc.body.appendChild(iframe); 62 } else { 63 setTimeout(addFrame, 5); 64 } 65 } 66 return !otherCMP; 67 } 68 69 function tcfAPIHandler() { 70 var gdprApplies; 71 var args = arguments; 72 73 if (!args.length) { 74 return queue; 75 } else if (args[0] === 'setGdprApplies') { 76 if ( 77 args.length > 3 && 78 args[2] === 2 && 79 typeof args[3] === 'boolean' 80 ) { 81 gdprApplies = args[3]; 82 if (typeof args[2] === 'function') { 83 args[2]('set', true); 84 } 85 } 86 } else if (args[0] === 'ping') { 87 var retr = { 88 gdprApplies: gdprApplies, 89 cmpLoaded: false, 90 cmpStatus: 'stub' 91 }; 92 93 if (typeof args[2] === 'function') { 94 args[2](retr); 95 } 96 } else { 97 if (args[0] === 'init' && typeof args[3] === 'object') { 98 args[3] = Object.assign(args[3], { tag_version: 'V3' }); 99 } 100 queue.push(args); 101 } 102 } 103 104 function postMessageEventHandler(event) { 105 var msgIsString = typeof event.data === 'string'; 106 var json = {}; 107 108 try { 109 if (msgIsString) { 110 json = JSON.parse(event.data); 111 } else { 112 json = event.data; 113 } 114 } catch (ignore) { } 115 116 var payload = json.__tcfapiCall; 117 118 if (payload) { 119 window.__tcfapi( 120 payload.command, 121 payload.version, 122 function (retValue, success) { 123 var returnMsg = { 124 __tcfapiReturn: { 125 returnValue: retValue, 126 success: success, 127 callId: payload.callId 128 } 129 }; 130 if (msgIsString) { 131 returnMsg = JSON.stringify(returnMsg); 132 } 133 if (event && event.source && event.source.postMessage) { 134 event.source.postMessage(returnMsg, '*'); 135 } 136 }, 137 payload.parameter 138 ); 139 } 140 } 141 142 while (win) { 143 try { 144 if (win.frames[TCF_LOCATOR_NAME]) { 145 cmpFrame = win; 146 break; 147 } 148 } catch (ignore) { } 149 150 if (win === window.top) { 151 break; 152 } 153 win = win.parent; 154 } 155 if (!cmpFrame) { 156 addFrame(); 157 win.__tcfapi = tcfAPIHandler; 158 // In Cypress, app code can run in an iframe while the stub binds on top window. 159 // Mirror __tcfapi to the local window only in tests to avoid window-context mismatch errors. 160 if (window.Cypress && win !== window) { 161 window.__tcfapi = win.__tcfapi; 162 } 163 win.addEventListener('message', postMessageEventHandler, false); 164 } 165 }; 166 167 makeStub(); 168 169 function makeGppStub() { 170 const CMP_ID = 10; 171 const SUPPORTED_APIS = [ 172 '2:tcfeuv2', 173 '6:uspv1', 174 '7:usnatv1', 175 '8:usca', 176 '9:usvav1', 177 '10:uscov1', 178 '11:usutv1', 179 '12:usctv1' 180 ]; 181 182 window.__gpp_addFrame = function (n) { 183 if (!window.frames[n]) { 184 if (document.body) { 185 var i = document.createElement("iframe"); 186 i.style.cssText = "display:none"; 187 i.name = n; 188 document.body.appendChild(i); 189 } else { 190 window.setTimeout(window.__gpp_addFrame, 10, n); 191 } 192 } 193 }; 194 window.__gpp_stub = function () { 195 var b = arguments; 196 __gpp.queue = __gpp.queue || []; 197 __gpp.events = __gpp.events || []; 198 199 if (!b.length || (b.length == 1 && b[0] == "queue")) { 200 return __gpp.queue; 201 } 202 203 if (b.length == 1 && b[0] == "events") { 204 return __gpp.events; 205 } 206 207 var cmd = b[0]; 208 var clb = b.length > 1 ? b[1] : null; 209 var par = b.length > 2 ? b[2] : null; 210 if (cmd === "ping") { 211 clb( 212 { 213 gppVersion: "1.1", // must be "Version.Subversion", current: "1.1" 214 cmpStatus: "stub", // possible values: stub, loading, loaded, error 215 cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled 216 signalStatus: "not ready", // possible values: not ready, ready 217 supportedAPIs: SUPPORTED_APIS, // list of supported APIs 218 cmpId: CMP_ID, // IAB assigned CMP ID, may be 0 during stub/loading 219 sectionList: [], 220 applicableSections: [-1], 221 gppString: "", 222 parsedSections: {}, 223 }, 224 true 225 ); 226 } else if (cmd === "addEventListener") { 227 if (!("lastId" in __gpp)) { 228 __gpp.lastId = 0; 229 } 230 __gpp.lastId++; 231 var lnr = __gpp.lastId; 232 __gpp.events.push({ 233 id: lnr, 234 callback: clb, 235 parameter: par, 236 }); 237 clb( 238 { 239 eventName: "listenerRegistered", 240 listenerId: lnr, // Registered ID of the listener 241 data: true, // positive signal 242 pingData: { 243 gppVersion: "1.1", // must be "Version.Subversion", current: "1.1" 244 cmpStatus: "stub", // possible values: stub, loading, loaded, error 245 cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled 246 signalStatus: "not ready", // possible values: not ready, ready 247 supportedAPIs: SUPPORTED_APIS, // list of supported APIs 248 cmpId: CMP_ID, // list of supported APIs 249 sectionList: [], 250 applicableSections: [-1], 251 gppString: "", 252 parsedSections: {}, 253 }, 254 }, 255 true 256 ); 257 } else if (cmd === "removeEventListener") { 258 var success = false;
259 for (var i = 0; i < __gpp.events.length; i++) { 260 if (__gpp.events[i].id == par) { 261 __gpp.events.splice(i, 1); 262 success = true; 263 break; 264 } 265 } 266 clb( 267 { 268 eventName: "listenerRemoved", 269 listenerId: par, // Registered ID of the listener 270 data: success, // status info 271 pingData: { 272 gppVersion: "1.1", // must be "Version.Subversion", current: "1.1" 273 cmpStatus: "stub", // possible values: stub, loading, loaded, error 274 cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled 275 signalStatus: "not ready", // possible values: not ready, ready 276 supportedAPIs: SUPPORTED_APIS, // list of supported APIs 277 cmpId: CMP_ID, // CMP ID 278 sectionList: [], 279 applicableSections: [-1], 280 gppString: "", 281 parsedSections: {}, 282 }, 283 }, 284 true 285 ); 286 } else if (cmd === "hasSection") { 287 clb(false, true); 288 } else if (cmd === "getSection" || cmd === "getField") { 289 clb(null, true); 290 } 291 //queue all other commands 292 else { 293 __gpp.queue.push([].slice.apply(b)); 294 } 295 }; 296 window.__gpp_msghandler = function (event) { 297 var msgIsString = typeof event.data === "string"; 298 try { 299 var json = msgIsString ? JSON.parse(event.data) : event.data; 300 } catch (e) { 301 var json = null; 302 } 303 if (typeof json === "object" && json !== null && "__gppCall" in json) { 304 var i = json.__gppCall; 305 window.__gpp( 306 i.command, 307 function (retValue, success) { 308 var returnMsg = { 309 __gppReturn: { 310 returnValue: retValue, 311 success: success, 312 callId: i.callId, 313 }, 314 }; 315 event.source.postMessage(msgIsString ? JSON.stringify(returnMsg) : returnMsg, "*"); 316 }, 317 "parameter" in i ? i.parameter : null, 318 "version" in i ? i.version : "1.1" 319 ); 320 } 321 }; 322 if (!("__gpp" in window) || typeof window.__gpp !== "function") { 323 window.__gpp = window.__gpp_stub; 324 window.addEventListener("message", window.__gpp_msghandler, false); 325 window.__gpp_addFrame("__gppLocator"); 326 } 327 }; 328 329 makeGppStub(); 330 331 var uspStubFunction = function () { 332 var arg = arguments; 333 if (typeof window.__uspapi !== uspStubFunction) { 334 setTimeout(function () { 335 if (typeof window.__uspapi !== 'undefined') { 336 window.__uspapi.apply(window.__uspapi, arg); 337 } 338 }, 500); 339 } 340 }; 341 342 var checkIfUspIsReady = function () { 343 uspTries++; 344 if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) { 345 console.warn('USP is not accessible'); 346 } else { 347 clearInterval(uspInterval); 348 } 349 }; 350 351 if (typeof window.__uspapi === 'undefined') { 352 window.__uspapi = uspStubFunction; 353 var uspInterval = setInterval(checkIfUspIsReady, 6000); 354 } 355 })(); 356</script>
356 357<!-- End InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2) --> 358
359<script type="text/javascript"> 360 (function () { 361 if (typeof window.__gpp !== 'function') { 362 return; 363 } 364 365 const GRANTED = 'granted'; 366 const DENIED = 'denied'; 367 368 const normalizeSection = (section) => 369 Array.isArray(section) ? section[0] : section; 370 371 // Iterates over all GPP sections and returns granular US opt-out signals. 372 // Iterates over every section so new US state sections are handled automatically. 373 const getUsOptOutSignals = (sections) => { 374 let saleOrSharing = false; 375 let targetedAdvertising = false; 376 for (const raw of Object.values(sections)) { 377 const section = normalizeSection(raw); 378 if (section?.SaleOptOut === 1 || section?.SharingOptOut === 1) { 379 saleOrSharing = true; 380 } 381 if (section?.TargetedAdvertisingOptOut === 1) { 382 targetedAdvertising = true; 383 } 384 } 385 return { saleOrSharing, targetedAdvertising }; 386 }; 387 388 const getTcfConsentSignals = (sections) => { 389 const tcf = normalizeSection(sections.tcfeuv2); 390 if (!tcf?.PurposeConsents) return null; 391 const p = tcf.PurposeConsents; 392 const storageConsent = !!p[1]; 393 return { 394 adStorage: storageConsent, 395 analyticsStorage: storageConsent, 396 adUserData: storageConsent, 397 adPersonalization: !!p[3] && !!p[4], 398 }; 399 }; 400 401 const updateGoogleConsent = (sections) => { 402 const { saleOrSharing, targetedAdvertising } = getUsOptOutSignals(sections); 403 const tcfSignals = getTcfConsentSignals(sections); 404 405 let adStorage = !(saleOrSharing || targetedAdvertising); 406 let analyticsStorage = !(saleOrSharing || targetedAdvertising); 407 let adUserData = !saleOrSharing; 408 let adPersonalization = !targetedAdvertising; 409 410 if (tcfSignals) { 411 adStorage = adStorage && tcfSignals.adStorage; 412 analyticsStorage = analyticsStorage && tcfSignals.analyticsStorage; 413 adUserData = adUserData && tcfSignals.adUserData; 414 adPersonalization = adPersonalization && tcfSignals.adPersonalization; 415 } 416 417 window.gtag('consent', 'update', { 418 ad_storage: adStorage ? GRANTED : DENIED, 419 analytics_storage: analyticsStorage ? GRANTED : DENIED, 420 ad_user_data: adUserData ? GRANTED : DENIED, 421 ad_personalization: adPersonalization ? GRANTED : DENIED, 422 personalization_storage: adPersonalization ? GRANTED : DENIED, 423 }); 424 }; 425 426 window.__gpp( 427 'addEventListener', 428 function (evt, success) { 429 if (!evt || !evt.pingData) { 430 return; 431 } 432 if (!success || evt.pingData.signalStatus !== 'ready') { 433 return; 434 } 435 436 // If a user changes their consent in the EU, the CMP emits this event. 437 if ( 438 evt.eventName === 'cmpDisplayStatus' && 439 evt.data === 'hidden' && 440 evt.pingData.signalStatus === 'ready' 441 ) { 442 const sections = evt.pingData.parsedSections || {}; 443 const isEmpty = Object.keys(sections).length === 0; 444 445 if (!isEmpty) { 446 updateGoogleConsent(sections); 447 window.dataLayer.push({ event: 'cmp_status_changed' }); 448 } 449 } 450 451 // On page load, after the CMP is done loading, the CMP emits a signalStatus event in ready state. 452 // If the CMP processes prior to the listener being added, then the listenerRegistered may be the 453 // only event emitted. 454 if ( 455 (evt.eventName === 'listenerRegistered' && 456 evt.pingData.signalStatus === 'ready') || 457 (evt.eventName === 'signalStatus' && evt.data === 'ready') 458 ) { 459 const sections = evt.pingData.parsedSections || {}; 460 const isEmpty = Object.keys(sections).length === 0; 461 462 // In the EU, the parsedSections will be empty until the user responds 463 // to the consent modal. 464 if (!isEmpty) { 465 updateGoogleConsent(sections); 466 } 467 468 // GTM tags will be triggered off of cmp_signal_ready. 469 // Therefore we want to ensure cmp_signal_ready is sent on every page view. 470 window.dataLayer.push({ event: 'cmp_signal_ready' }); 471 } 472 } 473 ); 474 })(); 475</script>
475<!-- Google Tag Manager --> 476
476<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.setAttributeNode(d.createAttribute('data-ot-ignore'));j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TXC5GP');</script>
476 477 <!-- End Google Tag Manager --> 478 479 <title> 480 Play Free Online Games | Free Games | Dictionary.com</title> 481 <meta charset="utf-8"> 482 <meta name="description" content='Train your brain, grow your knowledge, or just take a break with Dictionary.com Games! Whatever you're looking for, you'll find it here - or discover a new favorite or two!' /> 483 <meta name="google" content="notranslate" /> 484 <meta name="googlebot" content="noodp, noarchive" /> 485 <meta name="robots" content="noarchive" /> 486 <meta name="viewport" content="width=device-width, initial-scale=1" /> 487 <link rel="preconnect" href="https://fonts.googleapis.com"> 488 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 489 <link href="https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700&display=swap" rel="stylesheet"> 490 <link href="https://cdn.dictionary.com/common-dcom-B1-tp9Y8.css" rel="stylesheet"/><link href="https://cdn.dictionary.com/dcom-favicon-BAQR4afA.ico" rel="icon" type="image/x-icon"/><link href="https://cdn.dictionary.com/dcom-favicon-32-7UEu9eA0.png" sizes="32x32" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-16-DjZm33EA.png" sizes="16x16" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-48-FddvFXE4.png" sizes="48x48" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-96-CiLIOT8B.png" sizes="96x96" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-128-pwPCvvgV.png" sizes="128x128" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-180-BHFUJQeI.png" sizes="180x180" rel="apple-touch-icon"/><link href="https://cdn.dictionary.com/dcom-favicon-192-SJDrbPYQ.png" sizes="192x192" rel="icon" type="image/png"/><link href="https://cdn.dictionary.com/dcom-favicon-512-ixIH81Na.png" sizes="512x512" rel="icon" type="image/png"/><!-- Mixpanel --> 491
vendor: 1,609 bytes, line 491
491<script type="text/javascript">(function (f, b) { if (!b.__SV) { var e, g, i, h; window.mixpanel = b; b._i = []; b.init = function (e, f, c) { function g(a, d) { var b = d.split("."); 2 == b.length && ((a = a[b[0]]), (d = b[1])); a[d] = function () { a.push([d].concat(Array.prototype.slice.call(arguments, 0))); }; } var a = b; "undefined" !== typeof c ? (a = b[c] = []) : (c = "mixpanel"); a.people = a.people || []; a.toString = function (a) { var d = "mixpanel"; "mixpanel" !== c && (d += "." + c); a || (d += " (stub)"); return d; }; a.people.toString = function () { return a.toString(1) + ".people (stub)"; }; i = "disable time_event track track_pageview track_links track_forms track_with_groups add_group set_group remove_group register register_once alias unregister identify name_tag set_config reset opt_in_tracking opt_out_tracking has_opted_in_tracking has_opted_out_tracking clear_opt_in_out_tracking start_batch_senders people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user people.remove".split( " "); for (h = 0; h < i.length; h++) g(a, i[h]); var j = "set set_once union unset remove delete".split(" "); a.get_group = function () { function b(c) { d[c] = function () { call2_args = arguments; call2 = [c].concat(Array.prototype.slice.call(call2_args, 0)); a.push([e, call2]); }; } for ( var d = {}, e = ["get_group"].concat( Array.prototype.slice.call(arguments, 0)), c = 0; c < j.length; c++) b(j[c]); return d; }; b._i.push([e, f, c]); }; b.__SV = 1.2;} })(document, window.mixpanel || []);</script>
491 492 <!-- End Mixpanel -->
vendor: 70 bytes, lines 492-494
492 493 494 <script async src="https://www.google.com/recaptcha/api.js?render=
4946Lf7JnQrAAAAAPHGrpyhBScGaodHXsKHUOnRDX5a
vendor: 14 bytes, lines 494-495
494"></script> 495
495<script id="site-context" type="application/json"> 496 {"assetsOrigin":"https://assets.dictionary.com","audioHostname":"https://audio.dictionary.com","dictionaryOrigin":"https://www.dictionary.com","isDictionary":true,"recaptchaSiteKey":"6Lf7JnQrAAAAAPHGrpyhBScGaodHXsKHUOnRDX5a"}</script>
496 497 <!-- Definition Images --> 498 <!-- End Definition Images --> 499 <link href="https://cdn.dictionary.com/dcom-games-games-landing-page-DWPpOAa9.css" rel="stylesheet"/><link rel="canonical" href="https://www.dictionary.com/games"/> 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 <link rel="preload" href="https://cmas.sdcdns.com/prebid-min.js" as="script" crossorigin="anonymous"/> 529 530 531 532</head> 533<body class="pg-dcom-games"> 534 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 534-535
534 535 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
535GTM-TXC5GP
vendor: 85 bytes, lines 535-536
535" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 536
536<!-- End Google Tag Manager (noscript) --> 537 <div class="wrapper-site-hdr"> 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569<header class="site-hdr" id="id-site-hdr"> 570 <nav aria-label="site navigation" class="nav-site"> 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593<button 594 aria-controls="id-menu-site-nav" 595 aria-expanded="false" 596 aria-haspopup="true" 597 aria-label="Open site navigation menu" 598 class="btn-menu-site-nav" 599 id="id-btn-menu-site-nav"></button> 600<ul 601 aria-labelledby="id-btn-menu-site-nav" 602 class="menu-site-nav" 603 id="id-menu-site-nav" 604 role="menu" 605> 606 <li class="menu-item-site-nav" role="none"> 607 <a class="lk-site-nav" href="https://www.dictionary.com/articles" role="menuitem">Featured</a> 608 </li> 609 <li class="menu-item-site-nav" role="none"> 610 <a class="lk-site-nav" href="https://www.dictionary.com/games" role="menuitem">Games</a> 611 </li> 612 <li class="menu-item-site-nav" role="none"> 613 <a class="lk-site-nav" href="https://www.dictionary.com/culture" role="menuitem">Cultural</a> 614 </li> 615 <li class="menu-item-site-nav" role="none"> 616 <a class="lk-site-nav" href="https://www.thesaurus.com/articles" role="menuitem">Writing tips</a> 617 </li> 618</ul> 619 <div class="mask-site-nav" id="id-mask-site-nav"><!-- --></div> 620 </nav> 621 622 623 624 <a class="lk-home" href="/">Dictionary.com</a> 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657<search class="form-search-word-container" id="form-search-word-container" data-props='{"popularSearchSample":[{"headword":"impute","slug":"impute"},{"headword":"PDF","slug":"pdf"},{"headword":"nauseous","slug":"nauseous"},{"headword":"shojo","slug":"shojo"},{"headword":"jone","slug":"jone"},{"headword":"piece of cake","slug":"piece-of-cake"},{"headword":"embarrass","slug":"embarrass"}]}'> 658 <form method="get" class="search-form" name="form-search-word"> 659 <input 660 id="input-search-word" 661 autoCapitalize="off" 662 class="search-input" 663 name="inputSearchWord" 664 placeholder="Search a word or phrase" 665 type="search" 666 autoComplete="off" 667 /> 668 <button class="search-button btn"></button> 669 </form> 670</search> 671 672 673 674 <a class="lk-logo-redirect" href="https://www.thesaurus.com"> 675 Thesaurus.com 676 </a> 677 678 679</header></div> 680 <div class="wrapper-site-main"> 681 <main id="main" class="site-main"> 682 <div class='games-landing-page'> 683 <div class='ixl-games-section'> 684 <div class='dcom-games-header'> 685 <h1 class='title'>Dictionary.com Games</h1> 686 <p class='subtitle'> 687 Train your brain, grow your knowledge, or just take a break with Dictionary.com Games! Whatever you're 688 looking for, you'll find it here - or discover a new favorite or two! 689 </p> 690 </div> 691 <div class='words-dot-com-section'> 692 <div class='words-dot-com-header'> 693 <a href="https://words.com" target="_blank" rel="noopener noreferrer" class='words-dot-com-logo'> 694 <img src="https://cdn.dictionary.com/word-dot-com-logo-DBXIyyv1.svg" alt="Words.com Logo"/></a> 695 <p class='words-dot-com-subtitle'> 696 The web's favorite word games, brought to you by the creators of Dictionary.com! 697 </p> 698 </div> 699 <div class='words-dot-com-featured-games-section'> 700 <a class="words-dot-com-featured-game-card" href="https://words.com/wordfork"> 701 <div class="thumbnail-placeholder"> 702 <img src="https://cdn.dictionary.com/word-fork-BRpwCXMS.svg" alt="Image for Words.com WordFork game"/> 703 704 705 706 707 708<video loop="true" muted="true" autoplay="true"> 709 <source src="/static/images/games-landing-page/word-dot-com-featured-games-animations/word-fork.webm" type="video/webm"> 710 <source src="https://cdn.dictionary.com/word-fork-C2vyKetk.mp4" type="video/mp4"> 711</video> 712</div> 713 <div class="content"> 714 <div class="game-name">WordFork</div> 715 <div class="description">Spell your way past the fork in the road.</div> 716 </div> 717 </a> 718 <a class="words-dot-com-featured-game-card" href="https://words.com/wordstrike"> 719 <div class="thumbnail-placeholder"> 720 <img src="https://cdn.dictionary.com/word-strike-DkMFV7EA.svg" alt="Image for Words.com WordStrike game"/> 721 722 723 724 725 726<video loop="true" muted="true" autoplay="true"> 727 <source src="/static/images/games-landing-page/word-dot-com-featured-games-animations/word-strike.webm" type="video/webm"> 728 <source src="https://cdn.dictionary.com/word-strike-DkTQqENM.mp4" type="video/mp4"> 729</video> 730</div> 731 <div class="content"> 732 <div class="game-name">WordStrike</div> 733 <div class="description">Unscramble the secret word in 2 shots.</div> 734 </div> 735 </a> 736 <a class="words-dot-com-featured-game-card" href="https://words.com/4words"> 737 <div class="thumbnail-placeholder"> 738 <img src="https://cdn.dictionary.com/four-words-B0sPCozW.svg" alt="Image for Words.com 4Words game"/> 739 740 741 742 743 744<video loop="true" muted="true" autoplay="true"> 745 <source src="/static/images/games-landing-page/word-dot-com-featured-games-animations/four-words.webm" type="video/webm"> 746 <source src="https://cdn.dictionary.com/four-words-57P8X99Q.mp4" type="video/mp4"> 747</video> 748</div> 749 <div class="content"> 750 <div class="game-name">4Words</div> 751 <div class="description">
751Complete the compound words.</div> 752 </div> 753 </a> 754 <a class="words-dot-com-featured-game-card" href="https://words.com/connectword"> 755 <div class="thumbnail-placeholder"> 756 <img src="https://cdn.dictionary.com/connect-word-DKjn5UYx.svg" alt="Image for Words.com ConnectWord game"/> 757 758 759 760 761 762<video loop="true" muted="true" autoplay="true"> 763 <source src="/static/images/games-landing-page/word-dot-com-featured-games-animations/connect-word.webm" type="video/webm"> 764 <source src="https://cdn.dictionary.com/connect-word-uS1KfdYA.mp4" type="video/mp4"> 765</video> 766</div> 767 <div class="content"> 768 <div class="game-name">ConnectWord</div> 769 <div class="description">Can you make 4 in a row?</div> 770 </div> 771 </a> </div> 772 </div> 773 <div class='dcom-featured-games-section'> 774 <a class='dcom-featured-game-card' href='/games/crossword'> 775 <img src="https://cdn.dictionary.com/daily-crossword-16-9-BuX4pH1_.svg" alt="Image for Daily Crossword Game" class="thumbnail-placeholder"/><div class='game-name'>Daily Crossword</div> 776 </a> 777 <a class='dcom-featured-game-card' href='/games/word-puzzle'> 778 <img src="https://cdn.dictionary.com/word-puzzle-16-9-DOCETYMr.svg" alt="Image for Word Puzzle Game" class="thumbnail-placeholder"/><div class='game-name'>Word Puzzle</div> 779 </a> 780 <a class='dcom-featured-game-card' href='/games/word-finder'> 781 <img src="https://cdn.dictionary.com/word-finder-16-9-wEZYOVDo.svg" alt="Image for Word Finder Game" class="thumbnail-placeholder"/><div class='game-name'>Word Finder</div> 782 </a> 783 </div> 784 <div class='featured-quizzes-section'> 785 <div class='featured-quizzes-svg'></div> 786 <div class='featured-quizzes-header'> 787 <h2 class='title'>Featured Quizzes</h2> 788 <p class='description'> 789 Boost your trivia game with our Quiz Library! With 16 different topics from literature to pop culture, you're sure to find a fun fact (or three!) to share with your friends. 790 </p> 791 </div> 792 <div class='featured-quizzes-section'> 793 <a class='featured-quiz-card' href="/games/quizzes/hip-hop-verses-with-the-perfect-word-choice-quiz"> 794 ð¶ Hip-Hop Verses With The Perfect Word Choice Quiz</a> 795 <a class='featured-quiz-card' href="/games/quizzes/no-pressure-take-the-synonym-of-the-day-quiz"> 796 ð§ No Pressure! Take The Synonym Of The Day Quiz!</a> 797 <a class='featured-quiz-card' href="/games/quizzes/only-true-swifties-can-guess-these-songs-based-on-one-word"> 798 ⨠Only True Taylor Swift Fans Can Guess These Songs Based On One Word</a> 799 <a class='featured-quiz-card' href="/games/quizzes/a-word-of-the-day-quiz-for-all-your-niblings-and-siblings"> 800 ðª A Word Of The Day Quiz For All Your Niblings And Siblings!</a> 801 <a class='featured-quiz-card' href="/games/quizzes/quiz-yourself-on-proper-names-with-other-meanings"> 802 ð Quiz Yourself On Proper Names With Other Meanings</a> 803 <a class='featured-quiz-card' href="/games/quizzes/word-of-the-day-quiz-show-youre-not-a-vocabulary-tyro"> 804 ð§ Word Of The Day Quiz: Show Youâre Not A Vocabulary Tyro!</a> 805 <a class='featured-quiz-card' href="/games/quizzes/go-hither-or-elsewhither-with-the-word-of-the-day-quiz"> 806 ð Go Hither Or Elsewhither With The Word Of The Day Quiz!</a> 807 <a class='featured-quiz-card' href="/games/quizzes/its-the-word-of-the-day-quiz-shout-it-from-the-ramparts"> 808 𧨠Itâs The Word Of The Day Quiz! Shout It From The Ramparts!</a> 809 <a class='featured-quiz-card' href="/games/quizzes/you-cant-casefy-this-word-of-the-day-quiz"> 810 ð§ You Canât Casefy This Word Of The Day Quiz!</a> 811 </div> 812 <a class='see-all-quizzes-button' href='/games/quizzes'>See All Quizzes</a> 813 </div> 814 </div> 815 <section class='sec-arkadium-all-games'> 816 <h2 class="title">All Games</h2> 817 <p> 818 Explore our expanded games hub, with crosswords, word games, and classics like mahjong, 819 sudoku, solitaire, and more! 820 </p> 821 <a class="lk-common-cta" href="https://play.dictionary.com">Play Today</a> 822 </section> 823 </div> 824 </main> 825 </div> 826 <div class="wrapper-site-ftr"> 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853<footer class="site-ftr"> 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884<section class="sec-wotd-card" data-cy="wotd-card"> 885 <div class="wrapper-wotd-card"> 886 <div class="box-wotd-card"> 887 <header> 888 889 890 891 <div class="hdr-wotd"> 892 <a class="lk-wotd" href="/word-of-the-day">Word of the Day</a> 893 </div> 894 895 896 </header> 897 <div class="box-word-phonetics-audio"> 898 <div class="js-word-of-the-day-modal"></div> 899 900 901 902 <div class="hdr-headword"> 903 <a class="lk-headword" href="/browse/ephemeral">ephemeral</a> 904 </div> 905 906 907 <div class="box-phonetics-audio"> 908 909 <button 910 aria-label="play audio of ephemeral"
911 class="common-btn-headword-audio js-play-word-audio" 912 data-audiosrc="e/ephemeral/ephemeral-Eys9t9.mp3" 913 data-audioorigin="https://audio.dictionary.com" 914 ></button> 915 916 <span class="txt-phonetics"> 917 [ih-<b>fem</b>-er-<i>uh</i>l] 918 </span> 919 </div> 920 </div> 921 <button class="btn-common-cta js-get-wotd-modal">Get the Word of the Day</button> 922 </div> 923 924 </div> 925 926</section> 927 928 <div class="logos-primary-container"> 929 <div class="primary-section primary-logo-container"> 930 931 932 933 <a href="/"><img src="https://cdn.dictionary.com/dcom-footer-logo-D3hiCHBw.svg" alt="" loading="lazy" class="primary-logo"/></a> 934 935 936 <p class="description">Over 500,000 expert-authored dictionary and thesaurus entries</p> 937 </div> 938 <div class="primary-section primary-links-container"> 939 <div class="internal-links"> 940 <a href="/list">Entry list</a> 941 <a href="https://www.ixl.com/company/careers" 942 target="_blank" 943 rel="noopener noreferrer">Careers</a> 944 <a href="/cdn-cgi/l/email-protection#daa9afaaaab5a8ae9abeb3b9aeb3b5b4bba8a3f4b9b5b7">Contact us</a> 945 <a href="https://help.dictionary.com/">Help</a> 946 <a href="/terms-and-privacy">Cookies, terms & privacy</a> 947 </div> 948 <div class="social-logo-container"> 949 <a href="https://www.facebook.com/dictionarycom" 950 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/facebook-logo-CyeagSVt.svg" alt="" width="20" loading="lazy" height="20"/></a> 951 <a href="https://www.instagram.com/dictionarycom" 952 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/instagram-logo-DjehPe9u.svg" alt="" width="20" loading="lazy" height="20"/></a> 953 <a href="https://www.x.com/dictionarycom" 954 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/x-logo-BkS2op_x.svg" alt="" width="20" loading="lazy" height="20"/></a> 955 <a href="https://www.linkedIn.com/company/dictionary.com/" 956 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/linkedin-logo-C27Z32SR.svg" alt="" width="20" loading="lazy" height="20"/></a> 957 <a href="https://www.youtube.com/c/DictionarycomVideo" 958 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/youtube-logo-AGOPFgFh.svg" alt="" width="20" loading="lazy" height="20"/></a> 959 <a href="https://apps.apple.com/us/app/dictionary-com-english-words/id308750436" 960 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/apple-logo-DpgKKelf.svg" alt="" width="20" loading="lazy" height="20"/></a> 961 <a href="https://play.google.com/store/apps/details?id=com.dictionary&hl=en" 962 target="_blank" rel="noopener noreferrer"><img src="https://cdn.dictionary.com/play-store-logo-DBMxwBHG.svg" alt="" width="20" loading="lazy" height="20"/></a> 963 </div> 964 </div> 965 </div> 966 <div class="parent-brands-container"> 967 <div class="brands-parent-logos-container"> 968 <a href="https://www.ixl.com"><img src="https://cdn.dictionary.com/ixl-footer-parent-logo-CMjElTgC.svg" alt="" loading="lazy"/></a> 969 <a href="https://www.dictionarymedia.com"><img src="https://cdn.dictionary.com/dmg-footer-parent-logo-COhNvSUi.svg" alt="" loading="lazy"/></a> 970 </div> 971 <p>IXL Learning's Dictionary Media Group reaches over 500,000,000 learners each year</p> 972 </div> 973 <div class="brands-container"> 974 <div class="brands-subsidiary-container"> 975 <div class="brands-row"> 976 <div class="brand"> 977 <div class="brand-logo"> 978 979 980 981 <a href="https://www.thesaurus.com/"> 982 <img src="https://cdn.dictionary.com/tcom-footer-brands-logo-Ce0ywHGh.svg" alt="" loading="lazy"/> 983 </a> 984 <p>Essential reference for synonyms and antonyms</p> 985 986 987 </div> 988 </div> 989 <div class="brand"> 990 <div class="brand-logo"> 991 <a href="https://www.vocabulary.com/"> 992 <img src="https://cdn.dictionary.com/vocab-footer-brands-logo-BlMloknW.svg" alt="" loading="lazy"/> 993 </a> 994 <p>Adaptive learning for English vocabulary</p> 995 </div> 996 </div> 997 <div class="brand"> 998 <div class="brand-logo"> 999 <a href="https://www.words.com/"> 1000 <img src="https://cdn.dictionary.com/words-footer-brands-logo-DGX_eyNx.svg" alt="" loading="lazy"/> 1001 </a> 1002 <p>Fun daily word games</p> 1003 </div> 1004 </div> 1005 <div class="brand"> 1006 <div class="brand-logo"> 1007 <a href="https://www.ingles.com/"> 1008 <img src="https://cdn.dictionary.com/ingles-footer-brands-logo-Cj0_mi36.svg" alt="" loading="lazy"/> 1009 </a> 1010 <p>English dictionary and learning for Spanish speakers</p> 1011 </div> 1012 </div> 1013 <div class="brand"> 1014 <div class="brand-logo"> 1015 <a href="https://www.spanishdict.com/"> 1016 <img src="https://cdn.dictionary.com/spanish-dict-footer-brands-logo-4FlU3dl5.svg" alt="" loading="lazy"/> 1017 </a> 1018 <p>Spanish-English dictionary, translator, and learning</p> 1019 </div> 1020 </div> 1021 </div> 1022 <div class="brands-row"> 1023 <div class="brand"> 1024 <div class="brand-logo"> 1025 <a href="https://www.frenchdictionary.com/"> 1026 <img src="https://cdn.dictionary.com/french-dict-footer-brands-logo-CpczaTEW.svg" alt="" loading="lazy"/> 1027 </a> 1028 <p>French-English dictionary, translator, and learning</p> 1029 </div> 1030 </div> 1031 <div class="brand"> 1032 <div class="brand-logo"> 1033 <a href="https://www.rosettastone.com/"> 1034 <img src="https://cdn.dictionary.com/rosetta-stone-footer-brands-logo-BHxnsu0P.svg" alt="" loading="lazy"/> 1035 </a> 1036 <p>
1036Immersive learning for 25 languages</p> 1037 </div> 1038 </div> 1039 <div class="brand"> 1040 <div class="brand-logo"> 1041 <a href="https://www.ixl.com/"> 1042 <img src="https://cdn.dictionary.com/ixl-footer-brands-logo-ecUK1g3T.svg" alt="" loading="lazy"/> 1043 </a> 1044 <p>Comprehensive K-12 personalized learning</p> 1045 </div> 1046 </div> 1047 <div class="brand"> 1048 <div class="brand-logo"> 1049 <a href="https://www.teacherspayteachers.com/"> 1050 <img src="https://cdn.dictionary.com/tpt-footer-brands-logo-DDu69lkn.svg" alt="" loading="lazy"/> 1051 </a> 1052 <p>Marketplace for millions of educator-created resources</p> 1053 </div> 1054 </div> 1055 <div class="brand"> 1056 <div class="brand-logo"> 1057 <a href="https://www.education.com/"> 1058 <img src="https://cdn.dictionary.com/edcom-footer-brands-logo-CqMly76v.svg" alt="" loading="lazy"/> 1059 </a> 1060 <p>35,000+ worksheets, games, and lesson plans</p> 1061 </div> 1062 </div> 1063 </div> 1064 <div class="brands-row"> 1065 <div class="brand"> 1066 <div class="brand-logo"> 1067 <a href="https://www.abcya.com/"> 1068 <img src="https://cdn.dictionary.com/abcya-footer-brands-logo-C6ORZBhp.svg" alt="" loading="lazy"/> 1069 </a> 1070 <p>Fun educational games for kids</p> 1071 </div> 1072 </div> 1073 <div class="brand"> 1074 <div class="brand-logo"> 1075 <a href="https://www.wyzant.com/"> 1076 <img src="https://cdn.dictionary.com/wyzant-footer-brands-logo-XsKkZY9f.svg" alt="" loading="lazy"/> 1077 </a> 1078 <p>Trusted tutors for 300+ subjects</p> 1079 </div> 1080 </div> 1081 <div class="brand"> 1082 <div class="brand-logo"> 1083 <a href="https://www.multiplication.com/"> 1084 <img src="https://cdn.dictionary.com/multcom-footer-brands-logo-0pGBnyvb.svg" alt="" loading="lazy"/> 1085 </a> 1086 <p>Math games and learning resources for kids</p> 1087 </div> 1088 </div> 1089 </div> 1090 </div> 1091 </div> 1092 <div class="copyright"> 1093 <p>© 2026 Dictionary Media Group, Inc., a division of IXL Learning</p> 1094 1095 <div id="mspa-footer-html-id"></div> 1096 1097 </div> 1098</footer> 1099</div> 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135<div id="dcoAdhesion1-container" class="box-additional box-additional-adhesion"> 1136 <div id="dcoAdhesion1"></div> 1137</div> 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 <style> 1162 /* Scoped to the same breakpoint the Adhesion slot uses, so the offset stops 1163 applying the instant a window is narrowed rather than at the next page 1164 load: below 768px the In-Screen unit is hidden and the mobile Adhesion is 1165 back, and space still reserved for GumGum would leave the floating player 1166 hovering in a gap above the adhesion. 1167 The body attribute means the offset only applies while an In-Screen unit 1168 is really occupying the bottom of the viewport. Loading the script is not 1169 enough: it can be blocked, return no fill, or the unit can be closed, and 1170 in each of those cases reserving 105px would leave the player hovering 1171 over nothing. See inScreenIsOnScreen below. 1172 The `translate` property rather than `transform`: the individual property 1173 composes with whatever `transform` AnyClip sets on the player, instead of 1174 replacing it. Writing `transform` here would silently discard the vendor's 1175 own positioning, and would override a close animation that slides the 1176 player away. !important because AnyClip writes these inline. */ 1177 @media only screen and (min-width: 768px) { 1178 body[data-gumgum-inscreen] [data-gumgum-anyclip-float] { 1179 translate: 0 -105px !important; 1180 } 1181 } 1182 1183 /* Below the breakpoint the mobile Adhesion is the unit on screen, and GumGum 1184 offers no way to unload an In-Screen unit once requested -- so hide its 1185 container. Doing that here, keyed to an attribute of our own, means never 1186 writing to GumGum's inline display: if the vendor collapses or closes the 1187 unit while we are narrow, stashing and restoring that value on widening 1188 could resurrect an ad the user had already dismissed. Above the breakpoint 1189 this rule simply does not apply, so the vendor's own display always wins. 1190 `not all and (min-width: 768px)` is the exact complement of the query 1191 above, leaving no fractional-width gap between the two. 1192 !important so it beats the inline display GumGum writes on that node. */ 1193 @media not all and (min-width: 768px) { 1194 [data-gumgum-container] { 1195 display: none !important; 1196 } 1197 } 1198 </style>
vendor: 111 bytes, lines 1198-1199
1198 1199 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1199<script type="text/javascript"> 1200 (function () { 1201 /* The DCOM/TCOM apps webview these pages and strip the ad formats that 1202 overlay the viewport: MobileAppHideSiteHeaderFooter.js removes 1203 .box-additional-adhesion for these user agents. In an app webview wide 1204 enough to clear the breakpoint below, In-Screen would otherwise load as a 1205 stand-in for the very unit the app just removed -- and this tag renders 1206 ahead of that bundle in base.tag, so waiting for it is not an option. 1207 The user agent cannot change mid-page, so bail out for good. 1208 These strings are duplicated from that file deliberately: it is a Vite 1209 module and an inline script cannot import from it. Keep the two in step. */ 1210 const ua = window.navigator && typeof window.navigator.userAgent === 'string' 1211 ? window.navigator.userAgent 1212 : ''; 1213 if (ua.indexOf('dcom ios') > -1 || ua.indexOf('dcom android') > -1) { 1214 return; 1215 } 1216 1217 const breakpoint = window.matchMedia('(min-width: 768px)'); 1218 1219 /* Load once, the first time we are at or above the breakpoint -- which can 1220 be a later resize, not only page load. Widening has to load too: CSS 1221 hides the mobile Adhesion slot from 768px up, so a window opened narrow 1222 and then widened would otherwise be left with neither unit. Never load 1223 below the breakpoint, where the Adhesion is the unit on screen. */ 1224 let gumgumLoaded = false; 1225 1226 function loadGumGum() { 1227 if (gumgumLoaded) { 1228 return; 1229 } 1230 gumgumLoaded = true; 1231 window.ggv2id = 'luvkiqqj'; 1232 const services = document.createElement('script'); 1233 services.type = 'text/javascript'; 1234 services.async = true; 1235 services.src = 'https://js.gumgum.com/services.js'; 1236 document.head.appendChild(services); 1237 } 1238 1239 /* GumGum measures the viewport once, when it requests the ad, and its 1240 client API exposes no way to unload, re-request or re-evaluate an 1241 In-Screen unit afterwards -- so a window narrowed past the breakpoint 1242 would otherwise leave the unit on screen, overlapping the mobile 1243 Adhesion slot that CSS has just brought back. GUMGUM.container is 1244 GumGum's own node and the only handle on it: its id is generated per 1245 pageview, so there is nothing stable to write a selector against. All we 1246 do is stamp our own attribute on it and let the stylesheet above hide it 1247 below the breakpoint -- the vendor's inline display is never touched. 1248 Note this hides, it does not unload -- the impression is already served. */ 1249 const INSCREEN_ATTR = 'data-gumgum-inscreen'; 1250 const CONTAINER_ATTR = 'data-gumgum-container'; 1251 const MIN_UNIT_WIDTH = 100; 1252 const MIN_UNIT_HEIGHT = 20; 1253 1254 let observedContainer = null; 1255 let syncQueued = false; 1256 1257 /* Whether an In-Screen unit is really occupying the bottom of the viewport. 1258 That the script loaded proves nothing: it can be blocked, it can return 1259 no fill, and the unit can be closed or collapsed later -- in each of 1260 those cases the 105px offset would strand the AnyClip player above an 1261 empty gap. The unit is viewport-anchored, so look for a visible 1262 fixed-positioned box of real size inside GumGum's container: the same 1263 shape of check used for the AnyClip player below, and for the same 1264 reason -- the vendor's own class names are not ours to depend on. 1265 The box also has to actually intersect the viewport. A unit closed by 1266 being translated out of view keeps its size and its fixed position, so 1267 measuring the box alone would read it as still on screen and strand the 1268 player over the empty space it left behind. */ 1269 function inScreenIsOnScreen(container) { 1270 if (!breakpoint.matches || window.getComputedStyle(container).display === 'none') { 1271 return false; 1272 } 1273 const nodes = container.querySelectorAll('*'); 1274 for (let i = 0; i < nodes.length; i++) { 1275 const style = window.getComputedStyle(nodes[i]); 1276 if (style.position !== 'fixed' || style.display === 'none' || style.visibility === 'hidden') { 1277 continue; 1278 }
1279 const rect = nodes[i].getBoundingClientRect(); 1280 if (rect.width < MIN_UNIT_WIDTH || rect.height < MIN_UNIT_HEIGHT) { 1281 continue; 1282 } 1283 const onScreen = rect.bottom > 0 && rect.right > 0 && 1284 rect.top < window.innerHeight && rect.left < window.innerWidth; 1285 if (onScreen) { 1286 return true; 1287 } 1288 } 1289 return false; 1290 } 1291 1292 function sync() { 1293 syncQueued = false; 1294 const container = window.GUMGUM && window.GUMGUM.container; 1295 /* A container GumGum has detached counts as gone: it can still be 1296 referenced by GUMGUM.container after the node leaves the document. */ 1297 if (!container || !document.body.contains(container)) { 1298 document.body.removeAttribute(INSCREEN_ATTR); 1299 return; 1300 } 1301 if (container !== observedContainer) { 1302 if (observedContainer) { 1303 observedContainer.removeEventListener('transitionend', queueSync); 1304 observedContainer.removeEventListener('animationend', queueSync); 1305 } 1306 observedContainer = container; 1307 /* Hands the node to the stylesheet rule above. Our own attribute, so 1308 GumGum's inline display is never read or written. */ 1309 container.setAttribute(CONTAINER_ATTR, ''); 1310 /* Catches the unit rendering, collapsing, or being closed later. */ 1311 unitObserver.disconnect(); 1312 unitObserver.observe(container, { 1313 childList: true, 1314 subtree: true, 1315 attributes: true, 1316 attributeFilter: ['style', 'class'] 1317 }); 1318 /* A CSS close animation only touches style/class when it starts, so 1319 the observer above fires while the unit is still over the viewport 1320 and nothing tells us when it has finished leaving. These bubble from 1321 the unit, so re-check once the movement is actually done. */ 1322 container.addEventListener('transitionend', queueSync); 1323 container.addEventListener('animationend', queueSync); 1324 } 1325 if (inScreenIsOnScreen(container)) { 1326 document.body.setAttribute(INSCREEN_ATTR, ''); 1327 } else { 1328 document.body.removeAttribute(INSCREEN_ATTR); 1329 } 1330 } 1331 1332 function queueSync() { 1333 if (syncQueued) { 1334 return; 1335 } 1336 syncQueued = true; 1337 window.requestAnimationFrame(sync); 1338 } 1339 1340 /* GumGum appends its container to <body> whenever its script finishes, so 1341 watch for that rather than polling for a fixed window: on a slow 1342 connection it can arrive long after any timeout we would pick, and if it 1343 lands while we are below the breakpoint the unit would appear over the 1344 Adhesion -- the exact collision this is here to prevent. 1345 This stays connected for the life of the page. unitObserver watches the 1346 container's subtree and so cannot see the container itself being removed 1347 from <body>; only this one can, and a close that removes the node has to 1348 clear the offset. Direct children of <body> only, so it stays cheap. */ 1349 const containerObserver = new MutationObserver(queueSync); 1350 containerObserver.observe(document.body, { childList: true }); 1351 const unitObserver = new MutationObserver(queueSync); 1352 1353 breakpoint.addEventListener('change', function () { 1354 if (breakpoint.matches) { 1355 loadGumGum(); 1356 } 1357 queueSync(); 1358 }); 1359 1360 if (breakpoint.matches) { 1361 loadGumGum(); 1362 } 1363 1364 /* AnyClip names its own DOM with an `ac-` prefix, not anything we control, 1365 so we watch for the descendant it switches to position:fixed rather than 1366 matching a vendor class name that could be renamed under us. It floats 1367 in place -- the player stays inside our wrapper -- so scoping the scan 1368 and the observer to the wrapper is enough. */ 1369 /* A data attribute, not a class or an inline style: those two are the 1370 observer's attributeFilter below, so writing either would re-trigger 1371 the observer on every mark. */ 1372 const FLOAT_ATTR = 'data-gumgum-anyclip-float'; 1373 1374 const wrapper = document.querySelector('.box-additional-anyclip'); 1375 if (!wrapper) { 1376 return; 1377 } 1378 1379 let scanQueued = false;
1380 1381 function mark(el) { 1382 if (window.getComputedStyle(el).position === 'fixed') { 1383 el.setAttribute(FLOAT_ATTR, ''); 1384 } else if (el.hasAttribute(FLOAT_ATTR)) { 1385 el.removeAttribute(FLOAT_ATTR); 1386 } 1387 } 1388 1389 function scan() { 1390 scanQueued = false; 1391 const descendants = wrapper.querySelectorAll('*'); 1392 for (let i = 0; i < descendants.length; i++) { 1393 mark(descendants[i]); 1394 } 1395 } 1396 1397 function queueScan() { 1398 if (scanQueued) { 1399 return; 1400 } 1401 scanQueued = true; 1402 window.requestAnimationFrame(scan); 1403 } 1404 1405 const observer = new MutationObserver(queueScan); 1406 observer.observe(wrapper, { 1407 childList: true, 1408 subtree: true, 1409 attributes: true, 1410 attributeFilter: ['style', 'class'] 1411 }); 1412 queueScan(); 1413 })(); 1414 </script>
1414 1415
1416<script type="module" src="https://cdn.dictionary.com/js-MobileAppHideSiteHeaderFooter-Tpcs_rJC.js"></script>
1416 1417 1418
1418<script type="module" src="https://cdn.dictionary.com/js-MobileSiteNav-C3m_VUjA.js"></script>
1418 1419 1420
1420<script type="module" src="https://cdn.dictionary.com/js-HeadwordAudioBtn-CEkauKRl.js"></script>
1420 1421 1422
1422<script type="module" src="https://cdn.dictionary.com/WordOfTheDayModal.app-COlqIO_l.js"></script>
1422 1423 1424 <link href="https://cdn.dictionary.com/WordOfTheDayModal-BUDi79Bd.css" rel="stylesheet" type="text/css"> 1425 <link href="https://cdn.dictionary.com/Modal-BBlh2m_d.css" rel="stylesheet" type="text/css"> 1426
1426<script id="WordOfTheDayModal-props" type="application/json"> 1427 {"body":"Some things are here today and gone tomorrow, making them truly \u003Cb\u003Eephemeral\u003C/b\u003E. Think of a bubble that\u0027s about to pop or a delicate snowflake on the verge of melting in your hand. If it\u0027s fleeting, it\u0027s \u003Cb\u003Eephemeral\u003C/b\u003E.","dateSlug":"ephemeral-2026-10-01","definition":"lasting a very short time","displayDate":"October 1, 2026","exampleSentence":"The rainbow was \u003Cb\u003Eephemeral\u003C/b\u003E, fading away just as quickly as it had appeared.","headword":"ephemeral","heroArticle":{"blurb":"What exactly is \"mewing,\" and why has it become a viral obsession among Gen Z and Gen Alpha? Learn why experts aren\u0027t convinced it lives up to the hype.","header":"What Is \"Mewing?\" ","imageUrl":"https://www.dictionary.com/e/wp-content/uploads/2026/08/27150539/mewing_sq.webp","url":"https://www.dictionary.com/culture/slang/mewing"},"id":20261001,"partOfSpeech":"adjective","pronunciation":{"audio":{"mpeg":"e/ephemeral/ephemeral-Eys9t9.mp3"},"phonetic":{"html":"ih-\u003Cb\u003Efem\u003C/b\u003E-er-\u003Ci\u003Euh\u003C/i\u003El"}},"slug":"ephemeral","subject":"Make the Most of \"Ephemeral\""}</script>
vendor: 1 bytes, line 1427
1427
1428<script type="module" src="https://cdn.dictionary.com/Search.app-CL6WEmmz.js"></script>
1428 1429 1430 <link href="https://cdn.dictionary.com/Search-CzSwWtU-.css" rel="stylesheet" type="text/css"> 1431
1431<script type="module" src="https://cdn.dictionary.com/js-mixpanel-pageview-CTeLdCOF.js"></script>
1431 1432 1433
1433<script id="js-mixpanel-pageview-props" type="application/json"> 1434 {"isDictionarySite":true,"mixpanelProjectToken":"7ad09e902154fc1872a50d2af3b6ebdd"}</script>
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465
1465<script type="text/javascript"> 1466 window.SD_PREBID_FILE_URL = '//cmas.sdcdns.com/prebid-min.js'; 1467 window.SD_GEO_CODE = '-'; 1468 window.fetch('/api/country-code').then(res => res.json()).then(data => window.SD_GEO_CODE = data.countryCode || '-').catch(() => {}); 1469 </script>
1469 1470
1470<script type="text/javascript" src="https://cadmus.script.ac/d325guje460pxh/script.js"></script>
1470 1471
1471<script src="https://btloader.com/tag?o=4864101730746368&upapi=true" async></script>
1471 1472
1472<script type="text/javascript" src="https://get.s-onetag.com/ead40e1a-8d39-4d5f-96ff-99c519eeede7/tag.min.js" async></script>
1472 1473
1473<script type="text/javascript" src="https://c.amazon-adsystem.com/aax2/apstag.js" async></script>
1473 1474
1474<script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" async></script>
1474 1475
1475<script type="text/javascript" src="https://cmas.sdcdns.com/dco/main-min.js" crossorigin="anonymous" async></script>
1475 1476
1476<script type="text/javascript"> 1477 window._qevents = window._qevents || []; 1478 (function() { 1479 var elem = document.createElement('script'); 1480 elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js"; 1481 elem.async = true; 1482 elem.type = "text/javascript"; 1483 var scpt = document.getElementsByTagName('script')[0]; 1484 scpt.parentNode.insertBefore(elem, scpt); 1485 })(); 1486 window._qevents.push({ 1487 qacct:"p-J6UREPaB79qHH" 1488 }); 1489 </script>
1489 1490 <noscript> 1491 <div style="display:none;"> 1492 <img src="//pixel.quantserve.com/pixel/p-J6UREPaB79qHH.gif" border="0" height="1" width="1" alt="Quantcast"/> 1493 </div> 1494 </noscript> 1495 1496
1497<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a43944ac782fdfb0',t:'MTc5MDgzNDY0OQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1497<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"734c06cf58c740e6abcef6624127a4b1","spa":2}' crossorigin="anonymous"></script>
1497 1498</body> 1499</html>
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.