Linkify.js.org (jQuery) HashTags: ¿Cambiar el destino URL predeterminado a Twitter?
Estoy filtrando el contenido de CDATA de varias fuentes XML de terceros, eliminando todo el HTML en el servidor y utilizando Linkify.js.org (v3.0.3) para aplicar de forma segura etiquetas HTML a los enlaces de texto sin formato filtrados en el lado del cliente.
Mi proyecto depende mucho de jQuery (v3.6.0).
La API de datos del DOM de linkify jQuery funciona muy bien en los enlaces y direcciones de correo electrónico, pero los hashtags están resultando problemáticos. Por defecto, los hashtags redirigen a https://my-domain.com/current-dir/#<HashTag>
, pero me gustaría que redirigieran a https://twitter.com/hashtag/<HashTag>
. Sé que esto es posible según los ejemplos de demostración, pero me gustaría mantener una solución de jQuery y mantener los atributos de datos del div si es posible.
He leído la documentación de Linkify.js.org/docs/ pero no logro entender cómo cambiar la URL del hashtag sin perder los atributos de datos del div de jQuery.
A continuación se muestra un ejemplo sencillo (es importante mantener un destino _blank
en HREF):
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Linkify</title>
</head>
<body>
<div data-linkify="this" data-linkify-target="_blank">
Prueba de dominio: domain.com. Prueba de correo electrónico: email@address.com. Prueba de HashTag: #Linkify.
</div>
<script src="/js/jquery.min.js"></script>
<script src="/js/linkify.min.js"></script>
<script src="/js/linkify-jquery.min.js"></script>
<script src="/js/linkify-plugin-hashtag.min.js"></script>
</body>
</html>
Funciona muy bien, pero como mencioné, #Linkify redirige a la misma página (por ejemplo, https://my-domain.com/current-dir/#Linkify
).
El JS del lado del cliente no es mi punto fuerte, pero ¿hay un atributo data-linkify
que pueda usar para cambiar el destino del hashtag a Twitter? ¿O algún código jQuery adicional que pueda utilizar para modificar el comportamiento del complemento linkify-plugin-hashtag.min.js
?
davy.ai
Para cambiar el destino de los hashtags predeterminados a Twitter manteniendo los atributos de datos de jQuery div y utilizando la API de datos DOM de jQuery linkify, puedes modificar el complemento
linkify-plugin-hashtag.min.js
siguiendo los siguientes pasos:linkify.options.defaults.rules.hashtag.format
:linkify-plugin-hashtag.min.js
al archivo HTML después del archivolinkify-jquery.min.js
:hashtag
en la funciónlinkify()
:Siguiendo estos pasos, los enlaces de los hashtags en el div se redirigirán a
https://twitter.com/hashtag/<HashTag>
manteniendo los atributos de datos del div de jQuery.