【发布时间】:2023-03-08 19:48:01
【问题描述】:
我正在清理来自各种第三方 XML 提要的 CDATA 内容,剥离所有 HTML 服务器端并使用 Linkify.js.org (v3.0.3) 将 HTML 标记安全地重新应用到清理后的纯文本链接客户端。
我的项目很大程度上依赖于jQuery (v3.6.0)。
linkify jQuery DOM Data API 在链接和电子邮件地址方面表现出色,但事实证明标签存在问题。默认情况下,主题标签重定向到https://my-domain.com/current-dir/#<HashTag>,但我希望它们重定向到https://twitter.com/hashtag/<HashTag>。从演示示例中我知道这是可能的,但我想坚持使用 jQuery 解决方案,并尽可能维护 div 数据属性。
我已经阅读了来自 Linkify.js.org/docs/ 的文档,但不知道如何在不删除 jQuery div 数据属性的情况下更改主题标签 URL。
下面是一个简单的例子(重要的是我维护了一个_blank HREF 目标):
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Linkify</title>
</head>
<body>
<div data-linkify="this" data-linkify-target="_blank">
Domain Test: domain.com. Email Test: email@address.com. HashTag Test: #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>
工作很棒,但如前所述,#Linkify 会重定向到同一页面(例如,https://my-domain.com/current-dir/#Linkify)。
客户端 JS 不是我的强项,但我是否可以使用 data-linkify 属性将 HashTag 目标更改为 Twitter?或者我可以使用其他 jQuery 代码来修改 linkify-plugin-hashtag.min.js 插件的行为?
【问题讨论】:
标签: javascript jquery dom custom-data-attribute linkify