Estoy tratando de integrar la biblioteca JS de ‘Notación aproximada’ en mi sitio web de WordPress.
Ver:
https://roughnotation.com/
https://github.com/rough-stuff/rough-notación
Solo estoy usando su código de demostración básico (en: https://glitch.com/~notación-aproximada-básica) que utiliza el siguiente script:
<script type="module">
import { annotate } from 'https://unpkg.com/rough-notation?module';
const n1 = document.querySelector('em');
const n2 = document.querySelector('strong');
const n3 = document.querySelector('h1');
const n4 = document.querySelector('span');
const n5 = document.querySelector('#block');
const a1 = annotate(n1, { type: 'underline', color: 'blue' });
const a2 = annotate(n2, { type: 'circle', color: 'red', padding: 10 });
const a3 = annotate(n3, { type: 'box', color: 'orange' });
const a4 = annotate(n4, { type: 'highlight', color: 'yellow', iterations: 1, multiline: true });
const a5 = annotate(n5, { type: 'bracket', color: 'red', padding: [2, 10], brackets: ['left', 'right'], strokeWidth: 3 })
a1.show();
a2.show();
a3.show();
a4.show();
a5.show();
</script>
(Estoy cargando esto en WordPress como ‘anotar-texto.js’)
Inicialmente recibí el siguiente error:
annotate-text.js?ver=6.0.1:1 Error de sintaxis no detectado: no se puede usar la declaración de importación fuera de un módulo (en annotate-text.js?ver=6.0.1:1:1)
pero después de leer algunas respuestas en StackOverflow, configuré el siguiente script para cargar el módulo RoughNotation:
function annotate_scripts()
wp_enqueue_script( 'module_handle', get_stylesheet_directory_uri() . '/js/annotate-text.js',
array(), false, true );
}
add_action( 'wp_enqueue_scripts', 'annotate_scripts' );
function set_scripts_type_attribute( $tag, $handle, $src ) {
if ( 'module_handle' === $handle ) {
$tag = '<script type="module" src="'. $src .'"></script>';
}
return $tag;
}
add_filter( 'script_loader_tag', 'set_scripts_type_attribute', 10, 3 );
Entonces, parece que está funcionando y que RoughNotation se está cargando. Pero ahora recibo otro error diferente:
Uncaught TypeError: Cannot read properties of null (reading 'parentElement')
at p.attach (rough-notation.esm.js?module:1:9287)
at new p (rough-notation.esm.js?module:1:8501)
at _ (rough-notation.esm.js?module:1:12411)
at annotate-text.js?ver=6.0.1:10:18
Me pregunto si alguien puede mostrarme cómo resolver esto.
Revisé StackOverflow nuevamente, pero no estoy seguro de cómo implementar respuestas a problemas similares.
Gracias
.