1 2 3 4<!DOCTYPE HTML> 5<!--[if gt IE 9]><!--><html class="homepage no-js" lang="en" dir="ltr"><!--<![endif]--> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25<head> 26 <!-- OneTrust Cookies Consent Notice start for yourcloudlibrary.com -->
26<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="0190552f-04d6-7c47-90fc-cb2d3fe29d67"></script>
26
26<script type="text/javascript"> function OptanonWrapper() { } </script>
26 <!-- OneTrust Cookies Consent Notice end for yourcloudlibrary.com --> 27
28<script> 29dataLayer = [{ 30'site': 'yourcloudlibrary', 31'language': 'en_us' 32}]; 33</script>
33 34 35 36 <!-- Google Tag Manager -->
36<script>
vendor: 327 bytes, line 36
36(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.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','
36GTM-WFL6J9N9
vendor: 3 bytes, line 36
36');
36</script>
36 <!-- End Google Tag Manager --> 37 <!-- Start VWO Async SmartCode --> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com"/>
37<script type='text/javascript' id='vwoCode'> window._vwo_code || (function() { var account_id=1077420, version=2.1, settings_tolerance=2000, hide_element='body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', /* DO NOT EDIT BELOW THIS LINE */ f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); </script>
37 <!-- End VWO Async SmartCode --> 38 <meta charset="utf-8" /> 39 40 41 42 43
43<script src="/etc.clientlibs/clientlibs/granite/utils.min.js"></script>
vendor: 1 bytes, line 43
43
44<script src="/etc.clientlibs/clientlibs/granite/jquery/granite.min.js"></script>
vendor: 1 bytes, line 44
44
45<script src="/etc.clientlibs/foundation/clientlibs/jquery.min.js"></script>
vendor: 1 bytes, line 45
45
46<script src="/etc.clientlibs/foundation/clientlibs/shared.min.js"></script>
vendor: 1 bytes, line 46
46
47<script src="/etc.clientlibs/cq/personalization/clientlib/underscore.min.js"></script>
vendor: 1 bytes, line 47
47
48<script src="/etc.clientlibs/cq/personalization/clientlib/personalization/kernel.min.js"></script>
vendor: 1 bytes, line 48
48
49<script type="text/javascript"> 50 $CQ(function() { 51 CQ_Analytics.SegmentMgr.loadSegments("\/etc\/segmentation"); 52 CQ_Analytics.ClientContextUtils.init("\/etc\/clientcontext\/default", "\/content\/yourcloudlibrary\/en\/home"); 53 54 55 }); 56</script>
56 57 58 59 60 61
61<script src="/etc.clientlibs/oclc/clientlibs/oclc/jquery.min.js"></script>
vendor: 1 bytes, line 61
61
62<script src="/etc.clientlibs/oclc/clientlibs/oclc/jquery/oclc.min.js"></script>
62 63 64 65 <link rel="stylesheet" href="/apps/oclc/clientlibs/oclc/jquery-ui-1.14.2.min.css" type="text/css">
66<script src="/apps/oclc/clientlibs/oclc/jquery-ui-1.14.2.min.js"></script>
66 67 68
68<script src="/etc.clientlibs/oclc/clientlibs/oclc/jquery/animation.min.js"></script>
68 69 70 71 72 73 74 75 76 77 <title>CloudLibrary | Accessing your libraryâs digital collection is easy 78 </title> 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96<meta name="description" content="A world of experiences. All waiting for you with CloudLibrary." /> 97 98<!-- Dublin Core Metadata --> 99 100<meta name="DC.Title" content="CloudLibrary | Accessing your libraryâs digital collection is easy" /> 101 102 103<meta name="DCTERMS.Alternative" content="CloudLibrary | Accessing your libraryâs digital collection is easy"> 104<meta name="DC.Subject" content="" /> 105 106 107<meta name="DC.Description" content="A world of experiences. All waiting for you with CloudLibrary."> 108 109 110<meta name="DC.Publisher" content="OCLC" /> 111<meta name="DC.Creator" content=""> 112 113<meta name="DC.Contributor" content=""/> 114<meta name="DCTERMS.Created" scheme="DCTERMS.W3CTDF" content="2026-3-19"> 115<meta name="DCTERMS.Issued" scheme="DCTERMS.W3CTDF" content="2026-3-19"> 116<meta name="DCTERMS.Modified" scheme="DCTERMS.W3CTDF" content="2026-3-19"> 117<meta name="DC.Language" content="en"> 118<meta name="DC.Modified" content="2026-3-19" /> 119<meta name="DC.Rights" content="https://policies.oclc.org/en/copyright.html" /> 120<meta name="twitter:title" content="CloudLibrary | Accessing your libraryâs digital collection is easy" /> 121<meta name="twitter:card" content="summary_large_image" /> 122<meta name="twitter:site" content="@OCLC" /> 123<meta name="twitter:domain" content="www.oclc.org" /> 124<meta name="twitter:description" content="A world of experiences. All waiting for you with CloudLibrary." /> 125<meta name="twitter:image" content="https://www.yourcloudlibrary.com/content/dam/yourcloudlibrary/en/images/social-images/social_card_cloudlibrary.jpg" /> 126 127<meta property="og:image" content="https://www.yourcloudlibrary.com/content/dam/yourcloudlibrary/en/images/social-images/social_card_cloudlibrary.jpg" /> 128<meta property="og:type" content="website" /> 129<meta property="og:site_name" content="OCLC" /> 130<meta property="og:title" content="CloudLibrary | Accessing your libraryâs digital collection is easy" /> 131<meta property="og:locale" content="en" /> 132<meta property="og:url" content="https://www.yourcloudlibrary.com/en/home.html" /> 133<meta property="og:description" content="A world of experiences. All waiting for you with CloudLibrary." /> 134 135 136<meta name="viewport" content="width=device-width" /> 137 138 139 140<link rel="canonical" href="https://www.yourcloudlibrary.com/en/home.html"/> 141<link rel="alternate" href="https://www.yourcloudlibrary.com/en/home.html" hreflang="en"/> 142 143 144<!-- News Article Script --> 145 146 147 148 149 <!-- Favicons --> 150 <link rel="icon" href="/apps/settings/wcm/designs/oclc/cloudlibrary/images/icons/favicon.ico" sizes="32x32"><link rel="icon" href="/apps/settings/wcm/designs/oclc/cloudlibrary/images/icons/icon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/apps/settings/wcm/designs/oclc/cloudlibrary/images/icons/apple-touch-icon.png"> 151 152 153 154 155 156
157<script type="text/javascript"> 158if(typeof String.prototype.trim !== 'function') { 159 String.prototype.trim = function() { 160 return this.replace(/^\s+|\s+$/g, ''); 161 } 162 } 163</script>
163 164 165<!-- Modernizr: http://www.modernizr.com/ -->
166<script src="/etc.clientlibs/oclc/clientlibs/oclc/modernizr.min.js"></script>
166 167 168 169 170 171
172<script type="text/javascript" src="/apps/oclc/clientlibs/oclc/jquery-ui-1.14.2/source/jquery-ui.min.js"></script>
vendor: 1 bytes, line 172
172
173<script type="text/javascript" src="/apps/oclc/docroot/js/pardot.loader-1.0.js"></script>
vendor: 1 bytes, line 173
173
174<script type="text/javascript"> 175(function ($) { 176 $(function () { 177 178 yepnope([{ 179 load: ['/apps/settings/wcm/designs/oclc/js/jquery/jquery.easing.js'] 180 }, { 181 test: $("#faq-set").length, 182 yep: ['/apps/settings/wcm/designs/oclc/js/faqs-functions-v0.1.js'] 183 }, { 184 // FancyBox for modals: http://fancybox.net 185 test: ($("a.modal-media").length || $("a.modal").length || $("a.img-gallery").length || $("a.modal-iframe").length || $(".modal-youtube").length), 186 yep: ['/apps/settings/wcm/designs/oclc/js/jquery/fancybox/jquery.fancybox.pack.js', '/apps/settings/wcm/designs/oclc/js/jquery/fancybox/jquery.fancybox.css', 187 '/apps/settings/wcm/designs/oclc/js/jquery/fancybox/helpers/jquery.fancybox-media.js', '/apps/settings/wcm/designs/oclc/js/modal-functions-v0.1.js'] 188 }, { 189 // Sitebar show/hide 190 test: ($("#sitebar-sites").length), 191 yep: ['/apps/settings/wcm/designs/oclc/js/jquery/jquery.hoverIntent.minified.js', '/apps/settings/wcm/designs/oclc/js/sitebar-functions-v0.1.js'] 192 }, { 193 // jQuery UI widgets live on $.fn, not $ -- testing $.autocomplete was 194 // always undefined and re-loaded the whole library on every page. 195 test: $.fn.autocomplete, 196 nope: '/apps/oclc/clientlibs/oclc/jquery-ui-1.14.2/source/jquery-ui.min.js', 197 complete: function () { 198 if ($("#search-terms").autocomplete) { 199 $("#search-terms").autocomplete({ 200 source: function (request, response) { 201 var s_siteVal = $("#s_site").val(), 202 s_clientVal = $("#s_client").val(), 203 uri = '/apps/oclc/suggest?q='; 204 uri = uri + request.term + '&site=' + encodeURIComponent(s_siteVal) + '&client=' + encodeURIComponent(s_clientVal); 205 $.ajax({ 206 url: uri, 207 dataType: "json", 208 type: "GET", 209 success: function (data) { 210 response(data); 211 } 212 }); //ajax closed 213 } //source closed 214 }); //autocomplete closed 215 } 216 217 if ($("#result-search-terms").autocomplete) { 218 $("#result-search-terms").autocomplete({ 219 source: function (request, response) { 220 var sr_siteVal = $("#sr_site").val(), 221 sr_clientVal = $("#sr_client").val(), 222 uri = '/apps/oclc/suggest?q='; 223 uri = uri + request.term + '&site=' + encodeURIComponent(sr_siteVal) + '&client=' + encodeURIComponent(sr_clientVal); 224 $.ajax({ 225 url: uri, 226 dataType: "json", 227 type: "GET", 228 success: function (data) { 229 response(data); 230 } 231 }); //ajax closed 232 } //source closed 233 }); //autocomplete closed 234 } 235 } 236 }]); 237 }); 238}(jQuery)); 239 240</script>
240 241 242<!-- TypeKit --> 243<link rel="stylesheet" href="https://use.typekit.net/xyd8noe.css"> 244 245 246
246<script src="/apps/settings/wcm/designs/oclc/js/jquery/jquery.url.min.js"></script>
246 247
247<script src="/apps/settings/wcm/designs/oclc/js/toggle-show-hide.js" type="text/javascript"></script>
247 248
248<script src="/apps/settings/wcm/designs/oclc/js/en.js"></script>
248 249 250
250<script> 251 (function($){ 252 $(function() { 253 yepnope({ 254 test: $('div.form').length > 0, // test whether the a form exists on the page with "validate" class 255 yep: ['/apps/settings/wcm/designs/oclc/js/jquery/jquery.validate.1.11.1.min.js','/etc/oclc/js/forms-functions-v0.4.js'] 256 }); 257 }); 258 })(jQuery); 259 260 261 </script>
261 262 263 <!-- Style sheets --> 264 265 <link rel="stylesheet" href="/apps/settings/wcm/designs/oclc/cloudlibrary/main.css?v=20260917"> 266 267 268 269 270 <link rel="stylesheet" href="/content/dam/yourcloudlibrary/en/css/ycl-hero-clouds-1.0.css" type="text/css"> 271<link rel="stylesheet" href="/content/dam/yourcloudlibrary/en/css/ycl-library-search-1.2.css" type="text/css"> 272
273<script src="/content/dam/yourcloudlibrary/en/js/ycl-hero-clouds-1.0.js" type="text/javascript"></script>
vendor: 2 bytes, line 273
273
274<script src="/content/dam/yourcloudlibrary/en/js/ycl-library-search-1.2.js" type="text/javascript"></script>
274 275 276 277 278 279 280 281 282 283<!-- Template Includes --> 284 285 286 287</head> 288 289 290 291 292 293 294 295 296 297 298<body class="oclc"> 299 300<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, line 300
300 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
300GTM-WFL6J9N9
vendor: 83 bytes, line 300
300" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
300<!-- End Google Tag Manager (noscript) --> 301 302<noscript> 303 <div class="nojs-caution"> 304 <p> 305 <strong>JavaScript is currently not supported or is disabled by this browser. </strong> 306 <br> 307 Some features of this site will not be available. Please enable JavaScript for full functionality. 308 <br> </p> 309 310 </div> 311</noscript> 312 313<DIV class="header_microbar iparsys parsys"><div class="section"><div class="new"></div> 314</div><div class="iparys_inherited"><div class="header_microbar iparsys parsys"><div class="customjavascript section"> 315<style> 316/* Hide search box - Remove after search indexing is complete */ 317</style></div> 318<div class="customjavascript section">
319<script src="/apps/settings/wcm/designs/oclc/cloudlibrary/js/main.js"></script>
319 320</div> 321</div> 322</div> 323</DIV> 324 325<div class="header iparsys parsys"><div class="section"><div class="new"></div> 326</div><div class="iparys_inherited"><div class="header iparsys parsys"><div class="header parbase section"> 327 328 329 330 331 332<header> 333 334 335
335<script type="text/javascript"> 336 (function (OCLC, $) { 337 OCLC.logout = function() { 338 if (_g && _g.shared && _g.shared.ClientSidePersistence) { 339 //_g.shared.ClientSidePersistence.clearAllMaps(); 340 } 341 342 if( CQ_Analytics && CQ_Analytics.CCM) { 343 //CQ_Analytics.ProfileDataMgr.clear(); 344 //CQ_Analytics.CCM.reset(); 345 //CQ_Analytics.ProfileDataMgr.loadProfile("anonymous"); 346 CQ.shared.Util.load(""); 347 } 348 } 349 OCLC.empty = function (data) { 350 if (typeof (data) == 'number' || typeof (data) == 'boolean') { 351 return false; 352 } 353 if (typeof (data) == 'undefined' || data === null) { 354 return true; 355 } 356 if (typeof (data.length) != 'undefined') { 357 return data.length == 0; 358 } 359 var count = 0; 360 for (var i in data) { 361 if (data.hasOwnProperty(i)) { 362 count++; 363 } 364 } 365 return count == 0; 366 } 367 $(function () { 368 369 var headerLinks, headerName, headerLink; 370 if (!CQ.shared.User.isInitialized() ) { 371 CQ.shared.User.init(); 372 CQ_Analytics.ProfileDataMgr.loadProfile(CQ.shared.User.data.userID); 373 } 374 375 376 377 378 }); 379 }(window.OCLC = window.OCLC || {}, jQuery)); 380 </script>
380 381 382 <div class="cont-page"> 383 <section class="header__pre"> 384 <div class="skip-nav visuallyhidden"> 385 <p><a href="#main-content" title="Skip navigation and go directly to page content">Skip to page content.</a></p> 386 </div> 387 <div id="url-mapper-msg"></div> 388 </section> 389 <section class="header__top"> 390 <a class="header__icon-button hide-desktop" id="mobile-menu" href="#">Menu</a> 391 <div class="header__brand"> 392 <div class="logo globallogo parbase"> 393 394 395 396 <!-- logo --> 397 398 <a href="https://www.yourcloudlibrary.com/en/home.html"> 399 400 401 <img src="/content/dam/yourcloudlibrary/en/images/logos/CloudLibrary_H_RGB.svg" border="0" title="Home" alt="CloudLibrary" class="oclc-logo"> 402 403 404 405 </a> 406 407</div> 408 409 <div class="logo-secondary globallogo parbase"> 410 411 412 413 <!-- logo --> 414 415 416 417 418 419 420 421 422</div> 423 424 </div> 425 <div class="header__controls"> 426 427 428 429 430
431<script> 432 var contentLink = ''; 433</script>
433 434 435 436
436<script src="/apps/oclc/components/page/oclcbase/ggclientlibs.min.js"></script>
436 437 438 439 <section class="region-language lang-selector"> 440 <p class="region"> 441 <a id="region-select" class="header__icon-button" tabindex="0" title="Select a different language" role="button" aria-controls="global-gateway" aria-expanded="false"> 442 English 443 </a> 444 </p> 445 <div id="global-gateway" style="display: none;" aria-hidden="true" role="menu" aria-labelledby="region-select"> 446 <div id="gateway-content"> 447 448 449 <ul class="language" role="none"> 450 451 <li><a href="https://www.yourcloudlibrary.com/ca/home.html" id="ca" lang="ca" hreflang="ca" role="menuitem">Català </a></li> 452 453 <li><a href="https://www.yourcloudlibrary.com/de/home.html" id="de" lang="de" hreflang="de" role="menuitem">Deutsch</a></li> 454 455 <li class="current-language"><a href="https://www.yourcloudlibrary.com/en/home.html" id="en" lang="en" hreflang="en" role="menuitem" aria-current="page">English</a></li> 456 457 <li><a href="https://www.yourcloudlibrary.com/es/home.html" id="es" lang="es" hreflang="es" role="menuitem">Español</a></li> 458 459 <li><a href="https://www.yourcloudlibrary.com/fr/home.html" id="fr" lang="fr" hreflang="fr" role="menuitem">Français</a></li> 460 461 <li><a href="https://www.yourcloudlibrary.com/mi/home.html" id="mi" lang="mi" hreflang="mi" role="menuitem">MÄori</a></li> 462 463 <li><a href="https://www.yourcloudlibrary.com/nl/home.html" id="nl" lang="nl" hreflang="nl" role="menuitem">Nederlands</a></li> 464 465 </ul> 466 467 468 469 </div> 470 </div> 471 472 <noscript> 473 <div id="global-gateway-noscript"> 474 <div id="gateway-content-noscript"> 475 476 477 <ul class="language"> 478 479 <li> 480 <li><a href="https://www.yourcloudlibrary.com/ca/home.html" id="ca" lang="ca" hreflang="ca" role="menuitem">Català </a></li> 481 </li> 482 483 <li> 484 <li><a href="https://www.yourcloudlibrary.com/de/home.html" id="de" lang="de" hreflang="de" role="menuitem">Deutsch</a></li> 485 </li> 486 487 <li> 488 <li class="current-language"><a href="https://www.yourcloudlibrary.com/en/home.html" id="en" lang="en" hreflang="en" role="menuitem" aria-current="page">English</a></li> 489 </li> 490 491 <li> 492 <li><a href="https://www.yourcloudlibrary.com/es/home.html" id="es" lang="es" hreflang="es" role="menuitem">Español</a></li> 493 </li> 494 495 <li> 496 <li><a href="https://www.yourcloudlibrary.com/fr/home.html" id="fr" lang="fr" hreflang="fr" role="menuitem">Français</a></li> 497 </li> 498 499 <li> 500 <li><a href="https://www.yourcloudlibrary.com/mi/home.html" id="mi" lang="mi" hreflang="mi" role="menuitem">MÄori</a></li> 501 </li> 502 503 <li> 504 <li><a href="https://www.yourcloudlibrary.com/nl/home.html" id="nl" lang="nl" hreflang="nl" role="menuitem">Nederlands</a></li> 505 </li> 506 507 </ul> 508 509 510 511 </div> 512 </div> 513 </noscript> 514 </section> 515
515<script src="/apps/settings/wcm/designs/oclc/js/jquery/jquery.ba-outside-events.js" type="text/javascript" charset="utf-8"> 516 </script>
516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 <ul class="universal-links"> 535 536 <li> 537 <a href="https://www.yourcloudlibrary.com/en/home.html#download" title="">Get the app</a> 538 </li> 539 540 541 542 543 544 </ul> 545 546 547 548 549 <div class="header__profile" id="header__profile"></div> 550 </div> 551 <a class="header__icon-button hide-desktop" id="mobile-search" href="#">Search</a> 552 </section> 553 <section class="header__bottom"> 554 <div class="topnav"> 555 556 557 558 559 560 561
562<script> 563(function ($) { 564 $(function () { 565 yepnope({ 566 test: $.hoverIntent, // test whether hoverIntent 567 nope: ['/apps/settings/wcm/designs/oclc/js/jquery/jquery.hoverIntent.minified.js'], 568 complete: function () { 569 yepnope({ 570 load: ['/apps/settings/wcm/designs/oclc/js/mainnavigation-functions-v0.3.js', '/apps/settings/wcm/designs/oclc/js/jquery/jquery.ba-outside-events.js'] 571 }); 572 } 573 }); 574 575 $(window).bind("load", function () {}); // Not sure why this is here. 576 }); 577 578}(jQuery)); 579</script>
579 580 581 582 583<nav> 584 <ul id="main-nav"> 585 <li class="main-nav-item"> 586 <a href="https://www.yourcloudlibrary.com/en/home.html" title="" class="main-nav-link ">Getting started</a> 587 588 </li> 589 <li class="main-nav-item"> 590 <a href="https://www.yourcloudlibrary.com/en/support.html" title="" rel="/content/yourcloudlibrary/en/megadrop-menus/support.html" class="main-nav-link dropnav">Support</a> 591 592 <div class="dropnav-cont hidden-all"></div> 593 </li> 594 </ul> 595</nav> 596 597 598 599</div> 600 601 602 </section> 603 </div> 604</header> 605<input type="hidden" name="headerPagePath" value="/content/yourcloudlibrary/en/home" id="headerPagePath"> 606<input type="hidden" name="includeSearch" value="false" id="includeSearch"> 607</div> 608</div> 609</div> 610</div> 611 612<main> 613 614 <div class="hero_area parsys"><div class="parsyscolumncontrol section"> 615 616 617<div class="parsys_column cq-colctrl-1-fc" > 618 619<div class="parsys_column cq-colctrl-1-fc-c0" > 620 <div class="col0 parsys"><div class="title-v2 title section"> 621<div id="title-v2-b3f0b4ec08" class="cmp-title"> 622 <h1 class="cmp-title__text">A world of experiences. All waiting for you with CloudLibrary.</h1> 623</div> 624 625 626 627</div> 628 629</div> 630 631 </div> 632 633</div></div> 634 635</div> 636 637 638 639 640 641 642 643 644<div id="main-content" class="cont-page mod"> 645 <div class="parsys_column interior-content"> 646 <div class="parsys_column home-content-c0"> 647 <div class="cont-page mod crumbs-tools"> 648 <div class="breadcrumb"></div> 649 650 </div> 651 652 653 654 655 656 657 658 659 <div class="page-content no-nav"> 660 <div class="par parsys"><div class="text parbase section"> 661 662 663 664 665 666 667 668 <h2 class="heading-3" id="find-your-library">Browse CloudLibrary online</h2> 669 <p class="heading-5" id="search-drop-label">Find your library to get started</p> 670 671 672 673 674</div> 675<div class="customjavascript section"> 676<data data-config-key="countryDropdownPlaceholder" value="Select country/territory"></data> 677<data data-config-key="countryDropdownSectionLabel" value="Country/territory"></data> 678<data data-config-key="stateDropdownPlaceholder" value="Select state/province"></data> 679<data data-config-key="stateDropdownSectionLabel" value="State/province"></data> 680<data data-config-key="libraryDropdownPlaceholder" value="Select library"></data> 681<data data-config-key="libraryDropdownSectionLabel" value="Library"></data> 682<data data-config-key="recentTitle" value="Recent selections"></data> 683<data data-config-key="noLibrariesFound" value="No libraries found"></data> 684<data data-config-key="cantFindYourLibrary" value="Canât find your library?"></data> 685<data data-config-key="clearInputText" value="Clear"></data> 686<data data-config-key="librarySubmitText" value="Go"></data> 687<data data-config-key="region.canton" value="Canton"></data> 688<data data-config-key="region.cantonSelect" value="Select canton"></data> 689<data data-config-key="region.county" value="County"></data> 690<data data-config-key="region.countySelect" value="Select county"></data> 691<data data-config-key="region.country" value="Country"></data> 692<data data-config-key="region.countrySelect" value="Select country"></data> 693<data data-config-key="region.department" value="Department"></data> 694<data data-config-key="region.departmentSelect" value="Select department"></data> 695<data data-config-key="region.prefecture" value="Prefecture"></data> 696<data data-config-key="region.prefectureSelect" value="Select prefecture"></data> 697<data data-config-key="region.province" value="Province"></data> 698<data data-config-key="region.provinceSelect" value="Select province"></data> 699<data data-config-key="region.region" value="Region"></data> 700<data data-config-key="region.regionSelect" value="Select region"></data> 701<data data-config-key="region.state" value="State"></data> 702<data data-config-key="region.stateSelect" value="Select state"></data> 703<data data-config-key="countryName.au" value="Australia"></data> 704<data data-config-key="countryName.be" value="Belgium"></data> 705<data data-config-key="countryName.br" value="Brazil"></data> 706<data data-config-key="countryName.ca" value="Canada"></data> 707<data data-config-key="countryName.ch" value="Switzerland"></data> 708<data data-config-key="countryName.de" value="Germany"></data> 709<data data-config-key="countryName.es" value="Spain"></data> 710<data data-config-key="countryName.fr" value="France"></data> 711<data data-config-key="countryName.gb" value="United Kingdom"></data> 712<data data-config-key="countryName.hu" value="Hungary"></data> 713<data data-config-key="countryName.in" value="India"></data> 714<data data-config-key="countryName.is" value="Iceland"></data> 715<data data-config-key="countryName.jp" value="Japan"></data> 716<data data-config-key="countryName.kr" value="South Korea"></data> 717<data data-config-key="countryName.mx" value="Mexico"></data> 718<data data-config-key="countryName.nz" value="New Zealand"></data> 719<data data-config-key="countryName.pk" value="Pakistan"></data> 720<data data-config-key="countryName.ro" value="Romania"></data> 721<data data-config-key="countryName.sg" value="Singapore"></data> 722<data data-config-key="countryName.tw" value="Taiwan"></data> 723<data data-config-key="countryName.us" value="United States"></data> 724<data data-config-key="countryName.za" value="South Africa"></data> 725 726<form id="searchDropForm"></form></div> 727<div class="text parbase section"> 728 729 730 731 732 733 734 735 <hr class="cl-hr" /> 736 737 738 739 740</div> 741<div class="text parbase section"> 742 743 744 745 746 747 748 749 <h2 class="heading-2">Accessing your libraryâs digital collection has never been easier</h2> 750 751 752 753 754</div> 755<div class="parsyscolumncontrol section"> 756 757 758<div class="parsys_column cq-colctrl-lt0" > 759 760<div class="parsys_column cq-colctrl-lt0-c0" > 761 <div class="col0 parsys"><div class="image parbase section"> 762 763 764 <figure class="figure-stack-image"> 765 <img src="/content/yourcloudlibrary/en/home/jcr%3acontent/par/parsyscolumncontrol_652988463/col0/image.img.png/1739292582466.png" alt="Photo illustration: Browsing a CloudLibrary app on a tablet" title="Photo illustration: Browsing a CloudLibrary app on a tablet" class="cq-dd-image" >
766 <figcaption> 767 <div class="img-caption"></div> 768 <div class="img-attribution"></div> 769 </figcaption> 770 </figure></div> 771 772</div> 773 774 </div> 775 776<div class="parsys_column cq-colctrl-lt0-c1" > 777 <div class="col1 parsys"><div class="text parbase section"> 778 779 780 781 782 783 784 785 <div class="cl-numbered cl-numbered--1"> 786 <h3 class="heading-4">Download the app</h3> 787 <p>See options below</p> 788 </div> 789 790 791 792 793</div> 794<div class="text parbase section"> 795 796 797 798 799 800 801 802 <div class="cl-numbered cl-numbered--2"> 803 <h3 class="heading-4">Log in to your library</h3> 804 <p>Select your state, library and enter your library ID and pin. Click âagree to termsâ and log in.</p> 805 </div> 806 807 808 809 810</div> 811<div class="text parbase section"> 812 813 814 815 816 817 818 819 <div class="cl-numbered cl-numbered--3"> 820 <h3 class="heading-4">Start exploring</h3> 821 <p>Browse, borrow and read ebooks and audiobooks from your library</p> 822 </div> 823 824 825 826 827</div> 828 829</div> 830 831 </div> 832 833</div></div> 834<div class="text parbase section"> 835 836 837 838 839 840 841 842 <h2 class="heading-3" id="download">Download the app</h2> 843 844 845 846 847</div> 848<div class="text parbase section"> 849 850 851 852 853 854 855 856 <div class="app-download-container"> 857 <div class="app-download-icon" title="CloudLibrary app icon"> 858 Â 859 </div> 860 <div class="app-download-text"> 861 <p class="app-download-badges"><a class="app-store-badge-ios" href="https://itunes.apple.com/us/app/3m-cloud-library/id466446054?mt=8" title="Download on the App Store">Download on the App Store</a> <a class="app-store-badge-android" href="https://play.google.com/store/apps/details?id=com.txtr.android.mmm" title="Get it on Google Play">Get it on Google Play</a> <a class="app-store-badge-amazon" href="https://www.amazon.com/Bibliotheca-cloudLibrary/dp/B0CJ1HLJXV" title="Available at Amazon appstore">Available at Amazon appstore</a><span class="app-download-badges__asterisk">*</span> <a class="app-store-badge-chrome" href="https://play.google.com/store/apps/details?id=com.txtr.android.mmm" title="Available in the Chrome Web Store">Available in the Chrome Web Store</a></p> 862 <p class="heading-5">or read and listen online by <a></a><a href="#find-your-library">finding your library</a></p> 863 <p><span class="text-small">*Amazon appstore app only available for Fire tablets</span></p> 864 </div> 865 </div> 866 867 868 869 870</div> 871<div class="text parbase section"> 872 873 874 875 876 877 878 879 <hr class="cl-hr" /> 880 881 882 883 884</div> 885<div class="parsyscolumncontrol section"> 886 887 888<div class="parsys_column home-content" id="ycl-less-max"> 889 890<div class="parsys_column home-content-c0" > 891 <div class="col0 parsys"><div class="text parbase section"> 892 893 894 895 896 897 898 899 <h2 style="text-align: center;" class="heading-4">Need help with CloudLibrary on your device? We got you.</h2> 900 <p style="text-align: center;"><a href="https://www.yourcloudlibrary.com/en/support.html" title="Support">Support and FAQ</a>Â Â <a href="https://www.yourcloudlibrary.com/en/adobe-reset.html" title="Adobe activation request">Adobe activation reset request</a>Â Â <a href="https://www.yourcloudlibrary.com/en/ereader.html" title="Adobe Ereader instructions">Web Patron/ereader</a><br /> <br /> </p> 901 902 903 904 905</div> 906<div class="highlightbox section"> 907 908 909 910<!-- Start: Highlight Box --> 911 <div class="hbox " > 912 <div class="highlightbox parsys"><div class="text parbase section"> 913 914 915 916 917 918 919 920 <h2 class="heading-5" style="text-align: center;">Intrigued by the possibilities of CloudLibrary?</h2> 921 922 923 924 925</div> 926<div class="text parbase section"> 927 928 929 930 931 932 933 934 <p style="text-align: center;"><span class="link-btn link-btn-primary link-btn-outline"><a href="https://www.oclc.org/en/cloudlibrary.html" title="Learn how to provide a seamless digital content experience for your library users at a budget-friendly price" alt="Provide a seamless digital content experience for your library users at a budget-friendly price.">Learn more</a></span></p> 935 936 937 938 939</div> 940 941</div> 942 943 </div> 944<!-- End: Highlight Box --> 945 </div> 946 947</div> 948 949 </div> 950 951</div></div> 952 953</div> 954 955 956 </div> 957 </div> 958 </div> 959 <div class="cont-page extra-info"> 960 <div class="purposestmt iparsys parsys"><div class="section"><div class="new"></div> 961</div><div class="iparys_inherited"><div class="purposestmt iparsys parsys"></div> 962</div> 963</div> 964 965 </div> 966</div> 967</main> 968 969<div class="footer iparsys parsys"><div class="section"><div class="new"></div> 970</div><div class="iparys_inherited"><div class="footer iparsys parsys"><div class="footer section"> 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 <!-- 986 Footer container 987 --> 988 <footer class="page-footer"> 989 <!-- footer content --> 990 <div class="cont-page"> 991 <div class="par parsys"><div class="parsyscolumncontrol section"> 992 993 994<div class="parsys_column cq-colctrl-ltf" > 995 996<div class="parsys_column cq-colctrl-ltf-c0" > 997 <div class="col0 parsys"><div class="text parbase section"> 998 999 1000 1001 1002 1003 1004 1005 <h3>CloudLibrary</h3> 1006 <ul class="no-bullets"> 1007 <li><a href="https://www.yourcloudlibrary.com/en/home.html">Getting started</a></li> 1008 <li><a href="https://www.yourcloudlibrary.com/en/support.html">Support<br /> </a></li> 1009 </ul> 1010 <p>Â </p> 1011 1012 1013 1014 1015</div> 1016 1017</div> 1018 1019 </div> 1020 1021<div class="parsys_column cq-colctrl-ltf-c1" > 1022 <div class="col1 parsys"><div class="text parbase section"> 1023 1024 1025 1026 1027 1028 1029 1030 <h3>Search</h3> 1031 1032 1033 1034 1035</div> 1036<div class="search section"> 1037 1038 1039 1040 1041 1042 1043 1044 1045
1046<script type="module" src="https://static.cloud.coveo.com/atomic/v3/atomic.esm.js"></script>
1046 1047
1048<script src="/apps/oclc/components/content/search/clientlib.min.js"></script>
1048 1049 1050 1051<link rel="stylesheet" href="https://static.cloud.coveo.com/atomic/v3/themes/coveo.css"/> 1052 1053 1054 1055 <div id="customSuggestionHtml" style="display:none;" data-url="http://www.worldcat.org"><span class="search-worldcatorg">Searching for items in a library? Try <a href="http://www.worldcat.org">WorldCat.org</a></span></div> 1056
1056<script type="module"> 1057 // Register custom query suggestion before Coveo search box initializes 1058 (async () => { 1059 // Get HTML from hidden div to safely handle special characters 1060 const customSuggestionHtmlDiv = document.getElementById('customSuggestionHtml'); 1061 const customSuggestionHtml = customSuggestionHtmlDiv ? customSuggestionHtmlDiv.innerHTML : ''; 1062 // Get URL from data attribute (extracted on server side before XSS filtering) 1063 const customSuggestionUrl = customSuggestionHtmlDiv ? customSuggestionHtmlDiv.getAttribute('data-url') || '' : ''; 1064 1065 if (!customSuggestionHtml || customSuggestionHtml.trim() === '') { 1066 return; 1067 } 1068 1069 // Extract URL from HTML anchor tag (fallback if data attribute not available) 1070 const extractUrlFromHtml = (html) => { 1071 const parser = new DOMParser(); 1072 const doc = parser.parseFromString(html, 'text/html'); 1073 const anchor = doc.querySelector('a'); 1074 return anchor ? anchor.getAttribute('href') : ''; 1075 }; 1076 1077 // Use URL from data attribute if available, otherwise extract from HTML 1078 const finalUrl = customSuggestionUrl || extractUrlFromHtml(customSuggestionHtml); 1079 1080 // Extract text content for query display 1081 const extractTextFromHtml = (html) => { 1082 const parser = new DOMParser(); 1083 const doc = parser.parseFromString(html, 'text/html'); 1084 return doc.body.textContent || doc.body.innerText || ''; 1085 }; 1086 1087 const displayText = extractTextFromHtml(customSuggestionHtml); 1088 1089 // Import the dispatchSearchBoxSuggestionsEvent function 1090 const { dispatchSearchBoxSuggestionsEvent } = await import('https://static.cloud.coveo.com/atomic/v3/index.esm.js'); 1091 1092 // Define custom suggestion element class 1093 class CustomQuerySuggestion extends HTMLElement { 1094 connectedCallback() { 1095 dispatchSearchBoxSuggestionsEvent((bindings) => { 1096 return { 1097 position: Number.MAX_SAFE_INTEGER, // Place at bottom of list 1098 onInput: () => { 1099 // No specific action needed on input for this static suggestion 1100 }, 1101 renderItems: () => { 1102 // Create content element with HTML content 1103 const content = document.createElement('div'); 1104 content.setAttribute('part', 'atomic-custom-suggestion-content'); 1105 content.style.fontSize = 'var(--atomic-custom-suggestion-content--font-size, 0.75rem)'; 1106 content.style.padding = 'var(--atomic-custom-suggestion-content--padding, 0.5rem 0)'; 1107 1108 // Parse and insert the HTML content 1109 const parser = new DOMParser(); 1110 const doc = parser.parseFromString(customSuggestionHtml, 'text/html'); 1111 const bodyContent = doc.body.firstChild; 1112 1113 if (bodyContent) { 1114 // Clone the content to avoid issues 1115 const clonedContent = bodyContent.cloneNode(true); 1116 1117 // Check if anchor tag exists (might be stripped in published environment) 1118 let anchors = clonedContent.querySelectorAll('a'); 1119 1120 // If no anchor found but we have a URL, reconstruct the link 1121 if (anchors.length === 0 && finalUrl) { 1122 // Find text that might be the link text (e.g., "WorldCat.org") 1123 const textContent = clonedContent.textContent || '';
1124 // Look for common link text patterns 1125 const linkTextMatch = textContent.match(/(WorldCat\.org|worldcat\.org|[a-zA-Z0-9-]+\.[a-zA-Z]{2,})/i); 1126 const linkText = linkTextMatch ? linkTextMatch[0] : 'Link'; 1127 1128 // Create a new anchor element 1129 const newAnchor = document.createElement('a'); 1130 newAnchor.setAttribute('part', 'atomic-custom-suggestion-link'); 1131 newAnchor.href = finalUrl; 1132 newAnchor.textContent = linkText; 1133 newAnchor.style.color = 'var(--link, rgba(0, 110, 170, 0.95))'; 1134 newAnchor.style.textDecoration = 'underline'; 1135 newAnchor.style.cursor = 'pointer'; 1136 newAnchor.style.display = 'inline'; 1137 1138 // Try to replace the link text in the content 1139 if (textContent.includes(linkText)) { 1140 // Replace the text with the anchor 1141 const beforeText = textContent.substring(0, textContent.indexOf(linkText)); 1142 const afterText = textContent.substring(textContent.indexOf(linkText) + linkText.length); 1143 clonedContent.textContent = ''; 1144 if (beforeText) clonedContent.appendChild(document.createTextNode(beforeText)); 1145 clonedContent.appendChild(newAnchor); 1146 if (afterText) clonedContent.appendChild(document.createTextNode(afterText)); 1147 } else { 1148 // Append the anchor at the end 1149 clonedContent.appendChild(document.createTextNode(' ')); 1150 clonedContent.appendChild(newAnchor); 1151 } 1152 1153 // Re-query for anchors 1154 anchors = clonedContent.querySelectorAll('a'); 1155 } 1156 1157 // Ensure anchor tags have proper link styling 1158 anchors.forEach(anchor => { 1159 // Apply link styling to make it visually appear as a link 1160 anchor.style.color = anchor.style.color || 'var(--link, rgba(0, 110, 170, 0.95))'; 1161 anchor.style.textDecoration = anchor.style.textDecoration || 'underline'; 1162 anchor.style.cursor = 'pointer'; 1163 anchor.style.display = 'inline'; 1164 // Ensure href is set (in case it was stripped) 1165 if (!anchor.href && finalUrl) { 1166 anchor.href = finalUrl; 1167 } 1168 }); 1169 1170 content.appendChild(clonedContent); 1171 } else { 1172 // Fallback: use text content 1173 content.textContent = displayText; 1174 } 1175 1176 return [{ 1177 key: 'custom-external-suggestion', 1178 query: displayText, // Needed for Coveo to display the suggestion 1179 content: content, 1180 onSelect: (bindings) => { 1181 // Open the URL in the current window 1182 if (finalUrl) { 1183 window.location.href = finalUrl; 1184 } 1185 1186 // Return false to prevent default suggestion behavior 1187 return false;
1188 } 1189 }]; 1190 } 1191 }; 1192 }, this); 1193 } 1194 } 1195 1196 // Register the custom element 1197 customElements.define('custom-query-suggestion', CustomQuerySuggestion); 1198 })(); 1199 </script>
1199 1200 1201 1202<input type="hidden" name="resultsPagePath" value="/content/yourcloudlibrary/en/search-results.html" id="resultsPagePath"> 1203<input type="hidden" name="accessToken" value="xxc839667d-dd5e-474e-b3ab-c84b434185fe" id="accessToken"> 1204<input type="hidden" name="searchWord" value="Search support..." id="searchWord"> 1205<input type="hidden" name="dataEnableQuerySuggestAddon" value="" id="dataEnableQuerySuggestAddon"> 1206
1207<script> 1208 (async () => { 1209 await customElements.whenDefined("atomic-search-interface"); 1210 1211 await customElements.whenDefined("custom-query-suggestion"); 1212 1213 const searchInterface = document.querySelector('#header-search-interface'); 1214 if (!searchInterface) { 1215 return; 1216 } 1217 searchInterface.language = 'en'; 1218 1219 await searchInterface.initialize({ 1220 accessToken: "xxc839667d-dd5e-474e-b3ab-c84b434185fe", 1221 organizationId: "oclcprodbkh6ljcv", 1222 searchHub: "ycl_en" 1223 }); 1224 1225 // Set placeholder text programmatically (attribute may not work directly) 1226 const searchBox = searchInterface.querySelector('atomic-search-box'); 1227 const searchWord = "Search support..."; 1228 if (searchBox && searchWord && searchWord.trim() !== "") { 1229 // Wait for search box to be fully initialized 1230 await customElements.whenDefined('atomic-search-box'); 1231 await new Promise(resolve => requestAnimationFrame(resolve)); 1232 1233 // Set placeholder if the component has a placeholder property 1234 const setPlaceholder = () => { 1235 if (searchBox.shadowRoot) { 1236 const searchInput = searchBox.shadowRoot.querySelector('textarea[part="textarea"]'); 1237 if (searchInput) { 1238 searchInput.placeholder = searchWord; 1239 return true; 1240 } 1241 } 1242 return false; 1243 }; 1244 1245 if (!setPlaceholder()) { 1246 // Try again after a short delay 1247 setTimeout(() => setPlaceholder(), 100); 1248 } 1249 1250 } 1251 1252 // Accessibility: hide decorative icons from screen readers when buttons have aria-label 1253 if (window.OCLCApplyAtomicSearchBoxAriaHidden) { 1254 await window.OCLCApplyAtomicSearchBoxAriaHidden(searchInterface); 1255 } 1256 1257 // Close dropdown after initialization 1258 const closeDropdownOnLoad = () => { 1259 const searchBox = searchInterface.querySelector('atomic-search-box'); 1260 if (searchBox) { 1261 if (searchBox.shadowRoot) { 1262 const textarea = searchBox.shadowRoot.querySelector('textarea[part="textarea"]'); 1263 const input = searchBox.shadowRoot.querySelector('input'); 1264 if (textarea) textarea.blur(); 1265 if (input) input.blur(); 1266 } 1267 searchBox.blur(); 1268 } 1269 }; 1270 1271 // Close dropdown after initialization (with one retry for async updates) 1272 setTimeout(closeDropdownOnLoad, 100); 1273 setTimeout(closeDropdownOnLoad, 300); 1274 })(); 1275 1276 // Reusable function to close the dropdown 1277 const closeDropdown = () => { 1278 const searchInterface = document.querySelector('#header-search-interface'); 1279 if (!searchInterface) return; 1280 1281 const searchBox = searchInterface.querySelector('atomic-search-box'); 1282 if (!searchBox) return; 1283 1284 // Check if search box is currently focused - if so, don't close 1285 let isFocused = false; 1286 if (searchBox.shadowRoot) { 1287 const textarea = searchBox.shadowRoot.querySelector('textarea[part="textarea"]'); 1288 const input = searchBox.shadowRoot.querySelector('input'); 1289 if ((textarea && document.activeElement === textarea) || 1290 (input && document.activeElement === input)) { 1291 isFocused = true; 1292 } 1293 } 1294 1295 if (!isFocused) { 1296 // Blur input elements 1297 if (searchBox.shadowRoot) { 1298 const textarea = searchBox.shadowRoot.querySelector('textarea[part="textarea"]'); 1299 const input = searchBox.shadowRoot.querySelector('input'); 1300 if (textarea) textarea.blur(); 1301 if (input) input.blur(); 1302 1303 // Try to find and close suggestion panels 1304 const selectors = [ 1305 '[part="suggestions"]', 1306 '[part="suggestions-wrapper"]', 1307 '.suggestions', 1308 'atomic-search-box-query-suggestions', 1309 'atomic-search-box-recent-queries' 1310 ]; 1311
1312 selectors.forEach(selector => { 1313 const panel = searchBox.shadowRoot.querySelector(selector) || 1314 document.querySelector(selector); 1315 if (panel) { 1316 panel.style.display = 'none'; 1317 panel.style.visibility = 'hidden'; 1318 panel.style.opacity = '0'; 1319 } 1320 }); 1321 } 1322 1323 searchBox.blur(); 1324 1325 // Try Coveo's internal methods 1326 if (searchBox.closeSuggestions) searchBox.closeSuggestions(); 1327 if (searchBox.hideSuggestions) searchBox.hideSuggestions(); 1328 } 1329 }; 1330 1331 // Handle page restoration from back/forward cache 1332 window.addEventListener('pageshow', () => { 1333 closeDropdown(); 1334 // Retry once to catch async updates 1335 setTimeout(closeDropdown, 150); 1336 }); 1337 1338 // Handle page visibility changes 1339 document.addEventListener('visibilitychange', () => { 1340 if (!document.hidden) { 1341 closeDropdown(); 1342 } 1343 }); 1344</script>
1344 1345<atomic-search-interface id="header-search-interface" language="en" analytics="true" pipeline="ycl_en"> 1346 <atomic-search-layout> 1347 <atomic-layout-section section="search"> 1348 <atomic-search-box redirection-url="/content/yourcloudlibrary/en/search-results.html" placeholder="Search support..."> 1349 <div> 1350 <atomic-search-box-recent-queries></atomic-search-box-recent-queries> 1351 1352 <custom-query-suggestion></custom-query-suggestion> 1353 </div> 1354 </atomic-search-box> 1355 </atomic-layout-section> 1356 </atomic-search-layout> 1357</atomic-search-interface></div> 1358 1359</div> 1360 1361 </div> 1362 1363<div class="parsys_column cq-colctrl-ltf-c2" > 1364 <div class="col2 parsys"><div class="text parbase section"> 1365 1366 1367 1368 1369 1370 1371 1372 <h3>Follow us</h3> 1373 <div class="social-accounts" style="float: left;"> 1374 <a href="https://www.threads.net/@cloudlibrary_app" title="Follow us on Threads"><img class="img-nobrdr" src="/content/dam/common/images/social-icons/footer/footer-threads.png" alt="Threads" /></a> 1375 <a href="https://www.instagram.com/cloudlibrary_app/" title="Follow us on Instagram"><img class="img-nobrdr" src="/content/dam/common/images/social-icons/footer/footer-instagram.png" alt="Instagram" /></a> 1376 </div> 1377 1378 1379 1380 1381</div> 1382 1383</div> 1384 1385 </div> 1386 1387<div class="parsys_column cq-colctrl-ltf-c3" > 1388 <div class="col3 parsys"> 1389</div> 1390 1391 </div> 1392 1393</div></div> 1394<div class="parsyscolumncontrol section"> 1395 1396 1397<div class="parsys_column cq-colctrl-lt6" > 1398 1399<div class="parsys_column cq-colctrl-lt6-c0" > 1400 <div class="col0 parsys"><div class="globallogo parbase section"> 1401 1402 1403 1404 <!-- logo --> 1405 1406 <a href="https://www.oclc.org/en/home.html"> 1407 1408 1409 <img src="/content/dam/oclc/design-images/navigation-logo.svg" border="0" alt="OCLC" class="footer-logo"> 1410 1411 1412 1413 </a> 1414 1415</div> 1416 1417</div> 1418 1419 </div> 1420 1421<div class="parsys_column cq-colctrl-lt6-c1" > 1422 <div class="col1 parsys"><div class="text parbase section"> 1423 1424 1425 1426 1427 1428 1429 1430 <div class="copyright"> 1431 <p><span class="cq-rte-sprinkles" name="Sprinkles:copyright-current-year"><a href="https://policies.oclc.org/en/copyright.html" title="Read the OCLC copyright policy">© 2026 OCLC</a></span>Â Â <a href="https://policies.oclc.org/en/copyright/trademarks.html" title="View the OCLC and Affiliate Trademarks and Service Marks list">Domestic and international trademarks and/or service marks of OCLC, Inc. and its affiliates</a></p> 1432 <ul> 1433 <li><a href="https://policies.oclc.org/en/privacy/privacy-statement.html">Privacy statement</a></li> 1434 <li><a href="https://policies.oclc.org/en/privacy/cookie-statement.html">Cookie notice</a></li> 1435 <li><a id="ot-sdk-btn" class="ot-sdk-show-settings">Cookie settings</a></li> 1436 <li><a href="https://policies.oclc.org/en/accessibility.html">Accessibility statement</a></li> 1437 <li><a href="https://www.oclc.org/en/trust/compliance.html#trust-certifications">ISO 27001 Certificate</a></li> 1438 </ul> 1439 </div> 1440 1441 1442 1443 1444</div> 1445 1446</div> 1447 1448 </div> 1449 1450</div></div> 1451 1452</div> 1453 1454 <div style="clear: both"></div> 1455 </div> 1456 1457 <div class="connect-bar mod"> 1458 <div class="cont-page"> 1459 1460 <!-- ComputerWorld logo should only appear on US/EN site --> 1461 1462 1463 1464 1465 </div> 1466 </div> 1467 1468 <!-- Copyright --> 1469 <div class="cont-page copyright"> 1470 <div class="text parbase"> 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483</div> 1484 1485 </div> 1486 </footer> 1487
1488<script> 1489 (function ($) { 1490 $(function() { 1491 yepnope({ 1492 test: ($(".event-listing-show").length), 1493 yep: ['/apps/settings/wcm/designs/oclc/js/event-functions-v0.2.js'] 1494 }); 1495 }); 1496 })(jQuery); 1497</script>
1497 1498 1499 1500</div> 1501</div> 1502</div> 1503</div> 1504 1505 1506 1507 1508</body> 1509 1510 1511</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.