Issue #991✓ ResueltoAbierto el 1 de abril de 2018por belal-azzamReacciones 4

Subir vídeo en el elemento imagen

Respuesta rápidapor usman-vqode4

Puedes simplemente añadirlo al vídeo usando el gestor de activos... 'this.editor.on('component:create', model => { si (model.get('type') === 'vídeo') { this.editor.runCommand('open-assets', { Objetivo: Modelo }); } });`

Lee la respuesta completa abajo ↓

Pregunta

Hola. Estaba intentando implementar la subida de vídeos usando el elemento Image con el gestor de assets, pero me detuve en el paso en el que quería reemplazar la etiqueta img por una etiqueta de vídeo en la llamada de vuelta UpdateTarget, pregunto si hay alguna forma sencilla de implementarlo. Gracias de antemano. Aquí tienes un fragmento de mi código '''js activos var = [];

var editor = grapesjs.init({ Altura: '100%', Offsets: 1, avisoOnUnload: 0, componentes: '', Estilo: '', Contenedor: '#gjs', fromElement: cierto,

Plugins: ['GJS-preset-webpage'], pluginsOpts: { 'gjs-preset-webpage': {} }, assetManager: { activos: activos, noAssets: '', subir: '/propietario/website_front/medio/asset_upload', uploadName:'Media', cabeceras: {}, autoAdd: 1, addBtnText: 'Añadir imagen', Texto al subir la entrada uploadText: 'Deja archivos aquí o haz clic para subir',

modalTítulo: 'Seleccionar imagen',

params: {}, },

storageManager: { Tipo: 'A distancia', pasos Antes de guardar: 1, urlStore: '', urlLoad: '', params: {}, // Para valores personalizados en peticiones } });

Consigue primero el módulo de Asset Manager const am = editor. Gestor de Activos; am.addType('video', { Vista: { updateTarget(target) { const src = this.model.get('src'); Solo para hacerlo un poco interesante, si es un tipo de imagen Puse el SVG como un uri de datos, contenido por lo demás if (target.get('type') == 'imagen') { Consejo: también puedes usar 'data:image/svg+xml;utf8,<svg ...' pero tú Tengo que escapar de unos pocos personajes

target.set('src', 'data:mime/type; base64,${BTOA(SVG)}'); } else { target.set('content', SVG); } },

getPreview() { const src = this.model.get('src'); volver '<div> <clase de vídeo="gjs-no-pointer" style="altura: 100%; ancho: 100%;" src="${src}"> </video>';</div> }, getInfo() { devolver '<div>'+ this.model.get('src') +'</div>'; } }, isType(value) { Por ejemplo, Aquí puedes comprobar/analizar/buscar URL e intentar Entiende el tipo

if (tipode de valor == 'cadena' ) { value_parts = valor.dividido('.'); ext = value_parts[value_parts.length - 1]; if(ext == 'mp4'){ console.log('4444'); return { type: 'video', src: value }; } } } }); am.add({type:'video',src:'https://oidev.daftra.dev/files/db4715bd/medias/d9717_SampleVideo_1280x720_1mb.mp4'});

am.render(am.getAll().filter(asset => asset.get('type') == 'video' ));```

Respuestas (3)

👍 Muy útilusman-vqode8 de agosto de 2019
Fragmento de códigoTEXT
Puedes simplemente añadirlo al vídeo usando el gestor de activos...

'this.editor.on('component:create', model => {
      si (model.get('type') === 'vídeo') {
        this.editor.runCommand('open-assets', {
          Objetivo: Modelo
        });
      }
    });`
artf4 de abril de 2018

Puedes actualizar el nombre de la etiqueta del componente de esta manera: 'model.set('tagName', 'new-tag')'

artf25 de abril de 2018

@ecmascriptguru preferiría sugerir ampliar el componente de vídeo e implementar el modal (como en ComponentImageView)

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.