91³Ô¹ÏÍø

Watch CBS News

Lindsey Vonn says "ride was worth the fall" after fourth surgery for broken leg, set to return to U.S.

American skier Lindsey Vonn announced Saturday that her latest surgery was successful, and that she has been cleared to return to the United States after breaking her left leg in a brutal crash last weekend during her opening downhill race at the Winter Olympics in Italy. 

"Surgery went well today!" the 41-year-old Vonn . This marks her fourth surgery since the Feb. 8 crash. 

Vonn had said Friday she would need at least two more surgeries — the one Saturday and a second after she returns to the U.S. 

On Wednesday, Vonn disclosed she had already undergone three surgeries since experiencing the injury. She wrote Saturday that once she's back in the U.S., she plans on giving "more updates and info about my injury." 

The Olympic veteran from Colorado also reflected on her crash, saying, "I don't have regrets." 

"The ride was worth the fall. When I close my eyes at night I don't have regrets and the love I have for skiing remains," Vonn said in her post. "I am still looking forward to the moment when I can stand on the top of the mountain once more. And I will."

Vonn crashed just seconds into the first run of her Olympic downhill race. She was competing despite rupturing her left ACL in a different crash during a World Cup race in the Swiss Alps last month.

"I was willing to risk and push and sacrifice for something I knew I was absolutely capable of doing," Vonn said in the post. "I will always take the risk of crashing while giving it my all, rather than not ski to my potential and have regret." 

The three-time Olympic medalist had come out of retirement to compete in the Milan Cortina Games. After tearing her ACL, she had said she felt confident she could still race with the help of a knee brace.

"Please, don't be sad," Vonn said. "Empathy, love and support I welcome with an open heart, but please not sadness or sympathy. I hope instead it gives you strength to keep fighting, because that is what I am doing and that is what I will continue to do. Always."

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(); } }); }); }); });