91³Ô¹ÏÍø

Watch CBS News

Excitement builds ahead of 130th Boston Marathon: "The energy in this city is phenomenal."

With the Boston Marathon just days away, you can feel the energy and excitement in the city.

On Friday, folks arrived early to pick up their bib numbers at the Hynes Convention Center and then took in all the fanfare, running gear and highlights at the Bank of America Expo for the 130th running of the Boston Marathon. "I absolutely love it. It's a runner's paradise and the energy in this city is phenomenal," Canadian runner Andrew Giassa said.

Tens of thousands of runners from all over the world have come to Boston to cross the finish line on Boylston Street. "There is something about crossing this finish line where it just brings out so much emotions," Seattle resident Andrea Munder said.

On Monday, many runners will cross the finish line for others as they run on behalf of their favorite charity. Sandra Lehan is running for the Michael Lisnow Respite Center in Hopkinton, providing love, care support and a home for people with disabilities. "For me it's running with purpose," she said. "I will always run for the charity for me it's my why."

Julia Kim fights back tears. She says her husband's goal was to run the Boston Marathon. He died two weeks ago after a 13-month battle with ALS. "I support Compassionate Care ALS because of the support they gave to me," she said.

Meaghan Langlois is running for the Boston Bulldogs Running Club, a co-ed non-profit that supports anyone impacted by addiction. The club uses community, connection and movement as a way to overcome. For her, this is personal as she is eight years sober and also met her husband at the running club. "Eight years of struggle and failed attempts and finally I found the Boston Bulldogs and things clicked and running and community have really transformed my life," Langlios said.

Whether it's capturing the emotion with families at the finish line, or signing their names on a mural of the 26-mile route, there's something about this historic race that brings people together. "I just got done with running the World Marathon Challenge, which is seven marathons, in seven continents in seven days and I can tell you this is the best marathon in the world," Lehan said.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });