En HubSpot , se agrega automáticamente un archivo llamado layout.min.css y no puedes deshabilitar este archivo css en ninguna parte del CMS.
Como tal, intenté remove() y disable el archivo a través de JS, pero los estilos de ese archivo css aún se procesan.
Cuando veo la view source , este archivo se ve así:
<link rel="stylesheet" href="//cdn2.hubspot.net/hub/xxxxxx/hub_generated/template_assets/1642616240355/hubspot/hubspot_default/shared/responsive/layout.min.css">
Ahora, observe el 1642616240355 en la URL. Ese número (por alguna razón) cambia todos los días.
Ayer, ejecuté lo siguiente y eliminó el archivo:
$("link[href='//cdn2.hubspot.net/hub/xxxxxx/hub_generated/template_assets/1642528871696/hubspot/hubspot_default/shared/responsive/layout.min.css']").attr('disabled', 'disabled'); $("link[href='//cdn2.hubspot.net/hub/xxxxxx/hub_generated/template_assets/1642528871696/hubspot/hubspot_default/shared/responsive/layout.min.css']").remove(); Sin embargo, como sigue cambiando, ahora busco eliminar y deshabilitar cualquier archivo css que contenga layout.min.css en su href .
Soy consciente de que hay un selector :contains , que podría ser útil aquí, pero no estoy seguro de cómo se implementaría. Como en, ¿cómo le diría al código que mire todas las hojas de estilo y elimine la que contains "layout.min.css" en su href ?
También he probado:
<script> const stylesheets = document.querySelectorAll('link[rel=stylesheet]'); for (var i = 0; i < stylesheets.length; i++) { if(stylesheets[i].href.indexOf("responsive/layout.min.css") >= 0) { stylesheets[i].disabled = true; stylesheets[i].remove(); } } </script> Pero todavía muestra el layout.min.css cuando se ve la fuente.
Le recomendaría que hiciera esto con JavaScript puro en lugar de JQuery. Porque de lo contrario, debe esperar hasta que se cargue la biblioteca JQuery.
Usa este código para eso:
const cssElement = document.querySelector("link[href*='layout.min.css']"); cssElement.disabled = true; cssElement.remove();Según el código que proporcionó y que dijo que funciona, ¿por qué no usar el comparador de extremos: $= ?
$("link[href$='layout.min.css']").remove(); Eso encontrará todos los <link> HREF que terminan con 'layout.min.css' y los eliminará, que es exactamente lo que está describiendo como su objetivo.