我正在清理来自各种第三方XML提要的CDATA内容,剥离所有HTML服务器端,并使用Linkify.js.org (v3.0.3)安全地将HTML标记重新应用于清理后的明文链接客户端。
我的项目很大程度上依赖于jQuery (v3.6.0)。
linkify jQuery DOM Data API在链接和电子邮件地址上工作得很好,但是hashtags被证明是有问题的。默认情况下,hashtags重定向到https://my-domain.com/current-dir/#<HashTag>
,但是我希望它们重定向到https://twitter.com/hashtag/<HashTag>
。我从演示示例中知道这是可能的,但是我想坚持使用jQuery解决方案,并且如果可能的话维护div数据属性。
我已经阅读了Linkify.js.org/docs/的文档,但不知道如何在不删除jQuery div数据属性的情况下更改hashtag 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 protected]. 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
插件的行为?
2条答案
按热度按时间ha5z0ras1#
使用hashtag插件选项.既然你不想直接调用linkify,你需要使用默认选项。
如果你加上这个,它应该工作。
字符串
您可以在https://linkify.js.org/docs/plugin-hashtag.html和https://linkify.js.org/docs/options.html上阅读更多内容
g6ll5ycj2#
将以下代码添加到HTML中的
<script src="/js/linkify-plugin-hashtag.min.js"></script>
之后:字符串
这是对@Salketer代码的修改,应该可以在最新版本的Linkify中使用。