De forma predeterminada, si establecemos una cookie en http://site.com, entonces también aparece en https… La lista completa de métodos seguros HTTP está en la especificación RFC7231.… propio código JavaScript en una página y espera que el usuario visite esa página.… Esto no debería ser posible en absoluto, los hackers no deberían poder insertar su código en nuestro… Por ejemplo:
Una página en site.com carga un banner desde otro sitio: <img src="https://ads.com
Abre la pagina de ejemplo en Chrome.… En hello.js, haz click en el número de línea 4. Si, en el número 4, no en el código.
¡Felicidades!… Entonces presionemos F5 (en Windows ó Linux) ó Cmd+R (en Mac).… El manual completo lo conseguimos en https://developers.google.com/web/tools/chrome-devtools.… Ah, y también puedes hacer click en todos lados en la consola a ver qué pasa.
Nosotros deberíamos preferir las clases css en lugar de style.… En la antigüedad, había una limitación en JavaScript: una palabra reservada como "class" no… Así que hoy en día getComputedStyle en realidad devuelve el valor resuelto de la propiedad, usualmente… en px para geometría.… También hay una limitación en CSS que prohíbe la aplicación de estilos de cambio de geometría en :visited
como en la página.… Pero ya no hay necesidad de entrar en detalles, dejemos a los dinosaurios descansar en paz.… Digamos que, en nuestro sitio es necesario obtener datos de http://another.com, como podría ser el pronóstico… Esta cabecera debe contener el origen permitido (en nuestro caso https://javascript.info), o un asterisco… ¿En verdad el servidor confía lo suficiente en el script?
Hay otras clases de objetos en JavaScript; las funciones, por ejemplo, son objetos.… Lo que realmente ocurre en str.toUpperCase():
El string str es primitivo.… Las cosas enloquecerían en varios lugares.… En ese sentido son “lo más primitivo”.… Los estudiaremos en los próximos capítulos.
Por ejemplo, solo http://site.com en lugar de http://site.com/path.… "unsafe-url" – envía siempre la URL completa en Referer, incluso para solicitudes HTTPS→HTTP… Si no hay respuesta en el caché HTTP, hace una solicitud HTTP regular, se comporta normalmente,
"… Si no hay respuesta en el caché HTTP, entonces envía un error.… ,
"error" – error en caso de redireccionamiento HTTP,
"manual" – permite procesar
Entre publicaciones, el último borrador de la especificación se puede consultar en https://tc39.es/ecma262… https://github.com/tc39/proposals.… Se puede acceder en https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference.… Aunque a menudo es preferible una búsqueda en internet.… Simplemente añade “MDN [término]” en la consulta, por ejemplo https://google.com/search?
En este paso, podemos chequear el status HTTP para poder ver si nuestra petición ha sido exitosa o no… de red o si el sitio especificado en la petición no existe.… Podemos visualizar los estados HTTP en las propiedades de la respuesta:
status – código de estado HTTP… Response provee múltiples métodos basados en promesas para acceder al cuerpo de la respuesta en distintos… simil-Map que contiene los encabezados HTTP.
La especificación HTML en https://html.spec.whatwg.org no solo trata sobre el “lenguaje HTML” (etiquetas… Además, algunas partes tienen especificaciones adicionales listadas en https://spec.whatwg.org.… Adicionalmente, algunas clases son descritas separadamente en https://spec.whatwg.org/.… Cuando desees leer sobre una propiedad o un método, el manual de Mozilla en https://developer.mozilla.org… Por ejemplo https://google.com?q=whatwg+localstorage, https://google.com?q=mdn+localstorage.
pedidos adicionales de HTTP “HTTP-requests”.… En cambio wss:// es WebSocket sobre TLS (al igual que HTTPS es HTTP sobre TLS), la seguridad de la capa… de transporte encripta los datos en el envío y los desencripta en el destino.… y si si el servidor responde “Sí”, la comunicación continúa en el protocolo WebSocket, que no es HTTP… Pronto veremos su estructura (“frames”, marcos o cuadros en español). Y no es HTTP en absoluto.
EL indicador y permite realizar la búsqueda en una posición dada en el string de origen.… …Pero si existe el indicador g, realiza la búsqueda en str empezando desde la posición almacenada en… Si no hay ninguna palabra en la posición lastIndex pero la hay en algún lugar posterior, entonces será… El indicador y hace que regexp.exec busque “exactamente en” la posición lastIndex, no “comenzando en”… En tareas tales como el análisis léxico, normalmente hay muchas búsquedas en una posición exacta.
Entraremos en más detalles con eventos particulares en los siguientes capítulos.… Toma en cuenta que dentro de onclick usamos comillas simples, porque el atributo en sí va entre comillas… En la mayoría de casos esta limitación no es apremiante.… En este caso handleEvent es llamado en caso del evento.… Vamos a aprender más sobre eventos en general y sobre diferentes tipos de eventos en los siguientes capítulos
Por lo general, un script “muere” (se detiene inmediatamente) en caso de error, imprimiéndolo en la consola… En particular, la implementación de fib(n) en el código siguiente devuelve un error para números negativos… En el ejemplo a continuación, hay un return en try.… en caso de un error no detectado.… o https://www.sentry.io.
A pesar de tener la palabra “XML” en su nombre, se puede operar sobre cualquier dato, no solo en formato… el estilo, puede ser 0 en caso de una falla no HTTP.
statusText
Mensaje del estado HTTP (una cadena)… Hoy en día, debemos seleccionar el formato en xhr.responseType y obtener xhr.response como se demuestra… En otras palabras, la ejecución de JavaScript se pausa en el send() y se reanuda cuando la respuesta… a menudo en scripts viejos.
Todas estas URL comparten el mismo origen:
http://site.com
http://site.com/
http://site.com/my/page.html… Estas no:
http://www.site.com (otro dominio: www. importa)
http://site.org (otro dominio: .org importa… )
https://site.com (otro protocolo: https)
http://site.com:8080 (otro puerto: 8080)
La política “Mismo… Tenga en cuenta que nada funciona.… Luego, configurar document.domain='site.com' en ambos, los coloca en el estado de “mismo origen”.
lenguaje aparecen regularmente, son analizadas y, si se consideran valiosas, se agregan a la lista en… https://tc39.github.io/ecma262/ y luego avanzan a la especificación.… Pueden decidir implementar propuestas que están en borrador y posponer cosas que ya están en la especificación… En este artículo nuestro propósito es llegar a la esencia de cómo trabajan y su lugar en el desarrollo… Entonces, si un visitante lo usa en un navegador desactualizado, este fallaría en entender un código
Podemos utilizar el contenido de los grupos de captura (...) no solo en el resultado o en la cadena de… reemplazo, sino también en el patrón en sí.… Continuando en el patrón, \1 significa “encuentra el mismo texto que en el primer grupo”, en nuestro… dólar: $1, mientras que en el patrón – una barra invertida \1.… En el siguiente ejemplo, el grupo con comillas se llama ?
En muchas aplicaciones, el poder de WebSocket es demasiado.… Además, es HTTP común, no un protocolo nuevo.… En la práctica, los mensajes complejos generalmente se envían codificados en JSON.… IDs en cada mensaje para reanudar los eventos, el último identificador recibido se envía en el encabezado… El estado actual está en la propiedad readyState.
Propiedades Unicode \p{…}.Cada carácter en Unicode tiene varias propiedades.… Por ejemplo, \p{Letter} denota una letra en cualquiera de los idiomas.… Aquí una base completa de caracteres Unicode en formato de texto, con todas las propiedades: https://… Resumen.La bandera u habilita el soporte de Unicode en expresiones regulares.… Las propiedades Unicode se pueden usar en las búsquedas: \p{…}.
en el “light DOM”, el DOM visible.… Por ejemplo, si un usuario hace clic en <span slot="username"> en el ejemplo siguiente… Por otro lado, si el clic ocurre en un elemento originalmente del shadow DOM, ej. en <b>Name<… Por ejemplo, aquí creamos div#inner en el shadow DOM de div#outer y disparamos dos eventos en él.… Tenga en cuenta que en caso de componentes anidados, un shadow DOM puede estar anidado dentro de otro
Podemos usar un objeto URL en fetch o XMLHttpRequest, casi en todas partes donde se espera un URL-string… la ruta url y ъ en el parámetro están codificados.… En muchos casos usando un string se acorta el código.… Eso es fácil de entender si miramos a la URL, que está separada en componentes en la imagen de arriba… , =, &, # son admitidos en URL.
Entonces en… errores que ocurren durante la carga de un script pueden ser rastreados en el evento error.… iframe.onload se dispara cuando el iframe ha terminado de cargar, tanto para una carga exitosa como en… Por ejemplo: un script de https://facebook.com no puede leer la bandeja de correos del usuario en https… En nuestro caso no teníamos ningún atributo de origen cruzado (cross-origin).
En este caso el archivo obtiene la información del Sistema Operativo.… En este caso tenemos un solo archivo por lo que solo es necesario usar input.files[0].… base 64 (https://developer.mozilla.org/es/docs/Web/HTTP/Basics_of_HTTP/Datos_URIs).
abort() – cancela… archivo en Web Worker no son tan importantes.… Datos URI codificado en base 64 (readAsDataURL).
Hoy, JavaScript puede ejecutarse no solo en los navegadores, sino también en servidores o incluso en… Por ejemplo:
V8 – en Chrome, Opera y Edge.
SpiderMonkey – en Firefox.… Es bueno recordar estos términos porque son usados en artículos para desarrolladores en internet.… Las capacidades de JavaScript dependen en gran medida en el entorno en que se ejecuta.… Una página http://algunsitio.com abierta en una pestaña no debe poder acceder a otra pestaña con la URL
En ese caso form.elements[name] es una colección.… en form.elements.… En otras palabras, en lugar de form.elements.login podemos escribir form.login.… En la práctica, uno debería usualmente establecer ambos valores en true o false.… En el siguiente capítulo vamos a hablar sobre los eventos focus y blur que pueden ocurrir en cualquier
Por ejemplo, en Chrome, necesitamos habilitar la opción “Show user agent shadow DOM” en las herramientas… En el ejemplo de abajo podemos ver un útil atributo pseudo.… Todos los subárboles vistos en capítulos previos eran “light”.… En particular, los elementos Shadow DOM pueden tener ids en conflicto con aquellos en el DOM visible… DOM: https://dom.spec.whatwg.org/#shadow-trees
Compatibilidad: https://caniuse.com/#feat=shadowdomv1
Renderizado en connectedCallback, no en el constructor
En el ejemplo de arriba, el contenido… del elemento es renderizado (construido) en connectedCallback.… ¿Por qué no en el constructor?… Lo llamamos una vez cuando el elemento es insertado en la página.… Compatibilidad: https://caniuse.com/#feat=custom-elementsv1.
Son explicados en detalle en el capítulo Generadores.… En generadores regulares no podemos usar await.… La URL inicial es https://api.github.com/repos/<repo>/commits, y la siguiente página estará en… Los commits son devueltos en formato JSON.… También es digno de mencionar que en algunos entornos, como en los navegadores, también hay otra API
El ataque “secuestro de clics” permite que una página maligna haga clic en un “sitio víctima” * en nombre… Al intentar hacer clic en el enlace, el visitante de hecho hace clic en el botón.… De modo que cuando un usuario hace clic en el enlace, en realidad hace clic en el botón.… Entonces, cuando un visitante intenta concentrarse en la entrada que ve en la página, en realidad se… Debe enviarse exactamente como encabezado HTTP: el navegador lo ignorará si se encuentra en la etiqueta
En el navegador, hay objetos de alto nivel adicionales, descritas en la API de Archivo, en particular… Al hacer click en un link, descargas un Blob dinámicamente generado con contenido hello world en forma… Mientras haya un mapeado para un Blob, el Blob en sí mismo se guarda en la memoria.… En el siguiente capítulo lo cubriremos en profundidad.… /en-US/docs/Web/API/Streams_API.
Puede encontrar el estado actual del soporte en https://caniuse.com/#feat=bigint.… El unario más no tiene soporte en bigints
El operador unario más +value es una manera bien… Pero hacerlo es engorroso y tendría mucho costo en performance.… En otras palabras, este enfoque sugiere que escribamos código en JSBI en lugar de bigints nativos.… sí lo soportan – el polyfill convertirá las llamadas en bigints nativos.
En serio, el código debería ser fácil de entender sin ellos.… diversas situaciones… En resumen – la vista panorámica del código.… Puedes leer más información sobre JSDoc en https://jsdoc.app.
¿Por qué se resuelve de esa manera?… Pero en el proceso ves que la solución “más obvia” en realidad falla.… HTML (o documentos en otros formatos).
La interfaz nativa de IndexedDB, descrita en la https://www.w3.org/TR/IndexedDB, está basada en eventos… También podemos usar async/await con la ayuda de un contenedor basado en promesas, como idb https://github.com… en todos los casos.… Usemos en adelante para este capítulo un contenedor (wrapper) liviano que añade promesas https://github.com… Los ejemplos están en la página lib de idb https://github.com/jakearchibald/idb.
En este último caso, las hojas de estilo se almacenan en la caché HTTP, por lo que no se vuelven a descargar… Si hay una propiedad con estilo tanto en el :host localmente, y en el documento, entonces el estilo del… En el siguiente ejemplo, el elemento eslotado <span> está en bold, según el estilo del documento… Primero, podemos aplicarle el estilo al elemento <slot> en sí mismo y confiar en la herencia CSS… Existen propiedades CSS personalizadas en todos los niveles, tanto en light como shadow.
El tren, en el ejemplo a continuación, va de izquierda a derecha con velocidad constante (haz clic en… Aquí está la función de temporización en acción (haz clic en el tren):
Resultadostyle.cssindex.htmlCSS… Por ejemplo, podemos hacerlo en el sitio http://cubic-bezier.com/.… Puedes encontrar la lista de propiedades CSS y cuáles estados disparan en https://csstriggers.com.… En otras palabras, el navegador calcula la diagramación en la etapa Layout (tamaños, posiciones); lo
Vamos a verlo en acción.… Evento storage.Cuando los datos se actualizan en localStorage o en sessionStorage, se dispara el evento… , excepto en el que lo ha causado.… Hay librerías que añaden polyfills para ésta API basados en localStorage para que se pueda utilizar en… evento (en una pestaña en el caso de sessionStorage o globalmente en el caso de localStorage).
Un buen estilo de código ayuda mucho en eso.… llave de apertura en la misma linea como la correspondiente palabra clave – no en una nueva linea.… Sin embargo, en JavaScript, hay casos en los que un salto de línea no se interpreta como un punto y coma… Crea un archivo de configuración llamado .eslintrc en la raíz de tu proyecto de javascript (en la carpeta… Resumen.Todas las reglas de sintaxis descritas en este capítulo (y en las guías de estilo mencionadas
En expresiones regulares eso es (\w+\.)… Pero en la práctica normalmente necesitamos contenidos de los grupos de captura en el resultado.… En cambio devuelve un objeto iterable, en un principio sin los resultados.… Por ejemplo, posiblemente hay 100 coincidencias en el texto, pero en un bucle for..of encontramos 5 de… : en el inicio.
Entonces, alert muestra los tamaños en cero.… En realidad es el retraso hasta el evento DOMContentLoaded.
window.onload.El evento load en el objeto… https://w3c.github.io/beacon/.… Este envía los datos en segundo plano.… El evento unload en window se dispara cuando el usuario finalmente se está yendo, en el controlador solo
Hay que tener en cuenta los caracteres especiales en nodos de texto:
una línea nueva: ↵ (en JavaScript… en nodos de texto en el DOM; y si los eliminamos, entonces no habrá nodo.… Todo en HTML, incluso los comentarios, se convierte en parte del DOM.
Hasta la declaración <!… Y no hay nodos de texto con espacios en blanco en absoluto.… Hay una extensa documentación acerca de las herramientas para desarrolladores de Chrome en https://developers.google.com
Imaginemos que en el momento en el que bench(diffSubtract) estaba corriendo, la CPU estaba ejecutando… Existe un excelente conjunto de artículos acerca del motor V8 en https://mrale.ph.… Nótese que, a diferencia de otros sistemas, los timestamps en JavaScript están representados en milisegundos… (ms), no en segundos.… En sí, JavaScript no tiene incorporada una manera de medir el tiempo en microsegundos (1 millonésima
Siempre en modo estricto.Los módulos siempre trabajan en modo estricto.… En el primer import lo inicializamos, escribimos en sus propiedades.… en scripts externos.… Para los scripts de módulo, esto también funciona en scripts en línea.… Async funciona en scripts en línea.
En cambio, lo reemplaza en el DOM.… Podemos escribir en elem.outerHTML, pero debemos tener en cuenta que no cambia el elemento en el que… En su lugar, coloca el nuevo HTML en su lugar.… Por ejemplo, HTMLInputElement está documentado en https://html.spec.whatwg.org/#htmlinputelement.… en modo XML).
rabbit, y luego en animal.… Y en la línea (**), la propiedad tiene un setter en el prototipo, por lo que es llamado.… ¿Dónde están escritas las propiedades this.name y this.surname: en user o en admin?… Entonces, cuando escribimos datos en this, se almacenan en estos objetos.… En otras palabras, se hereda.
¿Por qué el manejador en <div> es ejecutado, si el clic fue hecho en <em>?… Luego en el <div> de arriba.
Luego en el <form> de más arriba.… Otro es escribir datos en event en un manejador y leerlos en otro, para pasar información a los manejadores… Para atrapar un evento en la fase de captura, necesitamos preparar la opción capture como true en el… Detectores de eventos en el mismo elemento y en la misma fase se ejecutan en el orden de asignación
garantiza que se mantengan en memoria los valores mientras sean accesibles o estén en uso.… Esto permite evitar que dichos objetos permanezcan en memoria solo por estar en la caché o en un array… + J en Windows/Linux o Option + ⌘ + J en macOS), ve a la pestaña “Performance” y haz clic en el ícono… En este caso, cada objeto WeakRef se registra en FinalizationRegistry.… escenario real en el que un usuario sincroniza sus fotos en un dispositivo móvil con un servicio en
Esta parte del tutorial trata sobre el núcleo de JavaScript, el lenguaje en sí.… ellos si planeas concentrarte en otro entorno (como Node.js).… Nos centraremos en JavaScript en el navegador en la siguiente parte del tutorial.… el botón “Play” en la esquina superior derecha del cuadro de arriba.… Los más complejos residen en archivos separados.
No hablaremos de los objetos aún
En este capítulo no cubrimos objetos.… El boolean false se convierte en "false", null en "null", etc.… 0 mientras que undefined se convierte en NaN.… Otros valores se convierten en true.… Un string vacío se convierte en 0. Un error entrega NaN.
El objeto global proporciona variables y funciones que están disponibles en cualquier lugar.… Por defecto, aquellas que están integradas en el lenguaje o el entorno.… Si su script puede ejecutarse en otros entornos, es mejor usar globalThis en su lugar.… el navegador) y global (en Node.js).… con var se convierten en propiedades del objeto global.
En ese caso, los objetos se convierten automáticamente en valores primitivos, y luego se lleva a cabo… ) y en contextos similares.… Esto se debe a que en la antigüedad no existía un buen concepto de “error” en JavaScript.… Luego "2" * 2 se convierte en 2 * 2 (el string se convierte en número).… Así que en proyectos de la vida real raramente se los usa en objetos.
Sólo se muestran 50 resultados.