Las etiquetas de script están ocultas de forma predeterminada al usar display:none;
. Unor 1 explica la especificación del lenguaje subyacente. Sin embargo, todavía son parte del DOM y se pueden diseñar en consecuencia.
Dicho esto, es importante tener en cuenta exactamente lo que está haciendo una etiqueta de script. Si bien solía ir acompañado de tipos e idiomas, ya no es necesario. Ahora se supone que JavaScript está allí y, como resultado, los navegadores interpretarán y ejecutarán el script tal como se encuentra (o carga) desde estas etiquetas.
Una vez que se ha ejecutado el script, el contenido de la etiqueta es solo texto (a menudo oculto) en la página. Este texto se puede revelar, pero también se puede eliminar porque es solo texto.
En la parte inferior de su página, justo antes de la </html>
etiqueta de cierre , puede eliminar fácilmente estas etiquetas junto con su texto y no habrá cambios en la página.
Por ejemplo:
(function(){
var scripts = document.querySelectorAll("script");
for(var i = 0; i < scripts.length; i++){
scripts[i].parentNode.removeChild(scripts[i]);
}
})()
Esto no eliminará ninguna funcionalidad, ya que el estado de la página ya ha sido alterado y se refleja en el contexto de ejecución global actual. Por ejemplo, si la página había cargado una biblioteca como jQuery, eliminar las etiquetas no significará que jQuery ya no esté expuesto porque ya se ha agregado al entorno de tiempo de ejecución de la página. Esencialmente solo hace que la herramienta de inspección DOM no muestre elementos de script, pero resalta que los elementos de script una vez ejecutados realmente son solo texto.
1. unor, jue 07 de julio de 2016, wutzebaer, "¿Cuándo deberían estar visibles las etiquetas y por qué pueden hacerlo?", 1 de julio a las 10:53, https://stackoverflow.com/a/38147398/1026459
<style>
con contenido editable. Buena manera de ver los efectos en tiempo real.