91³Ô¹ÏÍø

Watch CBS News

White Sox lose series opener to Blue Jays

Joey Loperfido homered and drove in three runs, and the Toronto Blue Jays beat the Chicago White Sox 8-4 on Monday night for their ninth consecutive win.

Addison Barger and Nathan Lukes also connected as AL East-leading Toronto improved to 27-10 in its last 37 games. Bo Bichette had two hits and All-Star slugger Vladimir Guerrero Jr. walked three times.

At 53-38, the Blue Jays matched the franchise record for most victories before the All-Star break. It's the longest win streak for the team since an 11-game run in August 2015.

José Berríos (5-3) pitched six innings of one-run ball, bouncing back nicely after he struggled in a no-decision against the New York Yankees on Wednesday. The right-hander improved to 16-6 with a 2.96 ERA in 27 career starts against Chicago.

Mike Tauchman had three hits and two RBIs for the last-place White Sox, who won two of three at Toronto last month. Colson Montgomery, one of the team's top prospects, went 0 for 3 with a walk in his home debut.

The Blue Jays opened an 8-1 lead when they scored five times in the sixth. Barger hit a two-run drive off Sean Burke for his 12th homer, and Loperfido chopped a two-run single over a drawn-in infield.

Burke (4-8) was charged with six runs and six hits in five-plus innings. The right-hander allowed two earned runs in 16 1/3 innings over his previous three outings.

Key moment

Loperfido and Lukes hit back-to-back homers in the fifth, giving Toronto a 3-1 lead. It was Loperfido's first homer of the season and No. 5 for his career.

Key stat

It was Chicago's eighth consecutive home loss against Toronto.

Up next

Chris Bassitt (8-4, 4.32 ERA) starts for Toronto on Tuesday night, and fellow right-hander Aaron Civale (0-3, 4.29 ERA) pitches for Chicago.

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