我在stackoverflow中发现了一些类似的问题,但没有完全匹配。我正在尝试修改Xpages
项目,其中搜索结果显示在动态视图面板中。搜索结果的第一列是在同一页面中打开记录的链接。我想要做的是让这个链接在一个单独的页面中打开记录。视图的"Dynamic"
部分令我感到困惑,我认为因为在窗口中没有"Column Name"
或"Column View"
添加。我可以看到开放或target="_blank"
。我该怎么做呢?
XPage的相关部分仅包含以下内容;
<xp:panel id="maincontentpanel">
<xe:dynamicViewPanel rows="30" id="dynamicViewPanel1" width="100%">
<xe:this.data>
<xp:dominoView viewName="(keywordsUser)" var="view">
</xp:dominoView>
</xe:this.data>
</xe:dynamicViewPanel>
</xp:panel>
在HTML中查看源时,可单击列显示以下内容;
<tr>
<td class="xspColumnViewStart">
<a id="view:_id1:cc4cconeuilayout:OneUIMainAreaCallback:dynamicViewPanel1:0:_id6:_internalColumnLink"
href="*routetoourrecord*";action=editDocument"
class="xspLinkViewColumn">2014</a>
</td>
答案 0 :(得分:1)
动态视图面板有一个属性&#34; target&#34;在所有属性中,您可以选择&#34; _blank&#34;。这应该将属性target="_blank"
添加到第一列中的链接。但是,不幸的是,这只适用于 Notes客户端。
所以,我们不能设置任何属性。幸运的是,渲染链接有一个自己的类&#34; xspLinkViewColumn&#34; (请参阅源代码HTML示例)。使用dojo.query
,我们可以获取此类的所有元素,并在客户端添加目标属性。
只需将以下事件代码添加到XPage:
<xp:eventHandler
event="onClientLoad"
submit="false">
<xp:this.script><![CDATA[
dojo.query(".xspLinkViewColumn").attr("target", "_blank");
]]></xp:this.script>
</xp:eventHandler>
所有链接都会以这种方式获取属性target="_blank"
,文档将在新的浏览器标签中打开。
答案 1 :(得分:1)
只是让我们知道代码不能与Bootstrap主题一起使用。
相反,您可以使用
dojo.query('[id$="_internalColumnLink"]').attr("target", "_blank");