Issue #1611💬 RespondidoAbierto el 27 de noviembre de 2018por ThomasLaigneauReacciones 0

Etiqueta de script crear error JSON

Respuesta rápidapor artf

https://stackoverflow.com/questions/28259389/how-to-put-script-in-a-javascript-string

Lee la respuesta completa abajo ↓

Pregunta

Hola. Estoy creando bloques en Grapesjs y necesito usar JS en ellos para el efecto de hover y más... Todo funciona bien para la creación, almacenamiento, carga y el estilo de cada bloque. Tengo un problema cuando añado la <script></script> etiqueta a mi bloque. Funciona bien cuando arrastro el bloque por primera vez, pero cuando guardo y vuelvo a cargar la página (es decir, cargo lo que guardé en la base de datos) tengo un error JSON...

Aquí está mi código:

'''js editor. BlockManager.add('block-category', { label: '<div class="gjs-fonts gjs-f-b1 gjs-one-bg gjs-four-color-h"><div class="gjs-block-label">Bloc Catégorie</div></div>', Contenido: '<style> .mdc_category_img_large { ancho: 100%; } .mdc_category_img_large img { ancho: 100%; } .mdc_category_content_container { pantalla: flex; dirección flexible: columna; alinear-ítems: centro; márgene-superior: 15px; } .mdc_category_img_medium img { Ancho máximo: 100%; } .mdc_category_content { márgene-superior: 15px; margen inferior: 15px; pantalla: flex; Alinear-elementos: Arranque flexible; dirección flexible: columna; } .mdc_category_title { transformada de texto: mayúsculas; Peso-fuente: negrita; color: #ffb8b1; tamaño de fuente: 16px; } .mdc_category_title tramo { pantalla: bloqueo; } .mdc_category_text { margen arriba: 5px; } .mdc_category_btn_container { ancho: 80%; text-align: center; márgene-superior: 15px; } .mdc_category_btn { color: #000; Color de fondo: #ffb8b1; decoración de texto: ninguna; Radio de frontera: 50px; acolchado: 10px 20px; } .mdc_category_large_hover_content { pantalla: ninguna; borde: sólido 1px #a8c1b3; }

.mdc_active { pantalla: flex; } .mdc_category_img_large:pasa el cursor > .mdc_arrow_container > .mdc_arrow.mdc_right::before { transformar: rotar (135 grados); margen: -3px 0 0 -5px; } .mdc_category_img_large:pasa el cursor > .mdc_arrow_container > .mdc_arrow.mdc_right::after { ancho: 0; Altura: 15px; Ancho de borde: 0 2px 0 0; margen-izquierda: -1px; margen arriba: -8px; } .mdc_arrow_container { posición: absoluta; derecha: 0; abajo: 0; } .mdc_arrow { ancho: 35px; Altura: 35px; Margen: 20px; pantalla: bloque en línea; posición: relativa; } .mdc_arrow::antes { Contenido: ''; pantalla: bloqueo; ancho: 10px; Altura: 10px; arriba: 50%; izquierda: 50%; Estilo de Borde: Sólido; color del borde: #00bab9; Ancho de borde: 2px 2px 0 0; posición: absoluta; Origen transformado: 50% 50%; } .mdc_arrow.mdc_right::before { transformar: rotar (45 grados); margen: -6px 0 0 -4px; transición: transformar 0,1s; } .mdc_arrow::después { Contenido: ''; pantalla: bloqueo; arriba: 50%; izquierda: 50%; Estilo de Borde: Sólido; color del borde: #00bab9; posición: absoluta; Origen transformado: 50% 50%; } .mdc_arrow.mdc_right::after { Ancho: 15px; altura: 0; Ancho de borde: 2px 0 0 0; margen izquierda: -10px; Margen arriba: -2px; transición: 0,1s; } .mdc_arrow.mdc_arrow_circle { antecedentes: RGBA (255, 255, 255, 1); borde: sólido 2px #00bab9; Radio de frontera: 50px; } .mdc_category_large_hover_content_item { pantalla: flex; alinear-ítems: centro; acolchado: 10px 20px; } .mdc_category_large_hover_content_item_price { pantalla: bloqueo; } .mdc_category_large_hover_content_item_values { ancho: 50%; margen izquierda: 50px; } @media pantalla y (ancho máximo: 767px) { .mdc_category { relleno: 0 30px; } .mdc_category_btn_container { ancho: 100%; } .mdc_category_large_hover_content { Envoltura flexible: envolvente; } } @media pantalla y (ancho-mínimo: 768px){ .mdc_category_content_container { dirección flexible: fila; Alinear-elementos: Arranque flexible; } .mdc_category_content { ancho: 50%; margen a izquierda: 30px; } .mdc_category_img_medium { ancho: 50%; } .mdc_category_title { tamaño de fuente: 18px; } .mdc_category_text { ancho: 80%; } .mdc_category { relleno-izquierda: 30px; relleno a la derecha: 30px; } } </style> <div class="mdc_category" data-gjs-draggable="#wrapper"> <div class="mdc_category_img_large"> <img src="/modules/mdthematics/views/templates/front/category_large.png" /> </div> <div class="mdc_category_large_hover_content"> <div class="mdc_category_large_hover_content_item"> <img src="/modules/mdthematics/views/templates/front/mini-photo.png" /> <div class="mdc_category_large_hover_content_item_values"> <span class="mdc_category_large_hover_content_item_description">Chaise de cuisine assise et dossier en bois structure en métal - Snack Connubia</span> <span class="mdc_category_large_hover_content_item_price">À partir de 199<sup>€00</sup></span> </div> </div> <div class="mdc_category_large_hover_content_item"> <img src="/modules/mdthematics/views/templates/front/mini-photo.png" /> <div class="mdc_category_large_hover_content_item_values"> <span class="mdc_category_large_hover_content_item_description">Chaise de cuisine assise et dossier en bois structure en métal - Snack Connubia</span> <span class="mdc_category_large_hover_content_item_price">À partir de 199<sup>€00</sup></span> </div> </div> </div> <div class="mdc_category_content_container"> <div class="mdc_category_img_medium"> <img src="/modules/mdthematics/views/templates/front/category_medium.png" /> </div> <div class="mdc_category_content"> <span class="mdc_category_title">Une chaise de cuisine <span>fonctionnelle et pratique</span></span> <p class="mdc_category_text">La fabrication des chaises de cuisine évolue avec le temps. A l'heure actuelle, il n'est plus question de se contenter d'un meuble fonctionnel au look classique, on recherche l'esthétique. Afin de répondre à la demanda, il existe, désormais, un large choix de chaises de cuisine. Que vous souhaitiez des chaises de cuisine modernes, rétro ou contemporaines, elles ont chacune un charme fou.</p> <div class="mdc_category_btn_container"> <a class="mdc_category_btn" href="">Voir les chaises de cuisine</a> </div> </div> </div> <script> $(".mdc_category_img_large").hover(function () { $(".mdc_category_large_hover_content").addClass("mdc_active"); }, función () {}); $(".mdc_category_large_hover_content").mouseleave(function () { $(this).removeClass("mdc_active"); }); </script> ',</div> atributos: { título: '' } });


Aquí está mi error:
! [captura d ecran 2018-11-27 a 16 38 57](https://user-images.githubusercontent.com/23522379/49092755-f96a2500-f262-11e8-82b2-57b7aa61689b.png)

Más información: añadí la línea de allowScripts: true y parece que proviene del contenido gjs_components que guardé en la base de datos.

Gracias por la ayuda...

Respuestas (3)

ThomasLaigneau2 de diciembre de 2018

Perdona, intenté seguir los consejos del post de stackoverflow pero nada funciona... Aun así, me salió ese error aunque salí del / de la </script> etiqueta

lock[bot]2 de diciembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.