extLib / appllicationLayout:如何定义 link 节点以在新选项卡中打开页面?

extLib / appllicationLayout: how can I define link node to open a page in a new tab?

使用 extLib 的 applicationLayout 控件我想将 link 放置到 bannerApplicationLinks 节点内的不同应用程序。如果不是因为其他应用程序在同一浏览器选项卡中打开,则使用 basicLeafNode 基本上可以正常工作。显然没有任何方法可以为任何类型的 linking 节点控制设置目标。

在我继续从头开始重建布局和导航器以便我可以使用标准 link 控件之前:可能有人知道某种保守的秘密,我如何以简单的方式完成这项任务?

这个限制顺便说一句。适用于 extLib 中可用的所有类型的 link 节点元素...

这看起来不太容易添加。与正常的 links 不同,basicLeafNode 似乎没有 target 属性。如果是这样,主题将允许您将目标的默认值设置为“_new”。

如果你想尝试扩展basicLeafNode,该组件的代码在com.ibm.xsp.extlib.controls插件中,com.ibm.xsp.extlib.tree.complex.ComplexLeafTreeNode。您需要添加 target 属性 并在 com.ibm.xsp.extlib.config 包中的配置文件中公开它(extlib-outline_en.propertiesextlib-outline.xsp-configraw-extlib-outline.xsp-config.

link写在com.ibm.xsp.extlib.renderkit.html_extended.outline.tree.HtmlTagsRendererrenderEntryItemContent方法中(请记住,这涵盖了其他link 类,并不是所有的都有目标属性)。

您拥有的最佳选择是在 onLoad 事件中使用 CSS(用于定位)和 CSJS 将目标属性添加到链接。在 onLoad 中,您 select 具有特定 class 的所有链接(或命名元素内的所有链接)并添加目标“_blank”属性。