如何强制在Wagtail Draftail编辑器中插入的外部URL在新选项卡上打开?

问题描述 投票:1回答:1

基本上我需要将target="_blank"属性添加到wagtail Draftail richtext编辑器中插入的所有外部URL中:

external url

In [2]: wagtail.__version__
Out[2]: '2.0.1'

EDIT-1这不是重复项wagtail版本2使用完全不同的richtext编辑器。

建议的answer建议$('a[href^="http://"]').attr('target', '_blank'),它将为包含http://页面上的所有链接添加适当的属性。这是次优的解决方案,因为页面上可能有很多链接不需要这种处理。显然,必须有一个更适当的修复程序,尤其是因为wagtail已经区分了编辑器UI上的InternalExternal链接(请参见所附图像)。

EDIT-2

似乎在wagtail.core.rich_text.feature_registry.FeatureRegistry类中有一个方法,据我所知,该方法将不同的处理程序分配给不同的URL类型,但是我看不到这些处理程序是什么,如何调用它们或如何进行修改他们?

def register_link_type(self, link_type, handler):
    self.link_types[link_type] = handler

基本上,我需要将target =“ _ blank”属性添加到在wagtail Draftail RTF编辑器中插入的所有外部URL中:在[2]中:wagtail .__ version__ Out [2]:'2.0.1'编辑-1 :此...

django python-3.x wagtail richtext
1个回答
1
投票

创建文件wagtail_hooks.py并添加以下行:

© www.soinside.com 2019 - 2024. All rights reserved.