Xpages链接打开新浏览器选项卡

Xpages链接打开新浏览器选项卡,xpages,Xpages,我在stackoverflow中发现了一些类似的问题,但没有完全匹配的。我正在尝试修改一个Xpages项目,其中搜索结果显示在动态视图面板中。搜索结果的第一列是在同一页面中打开记录的链接。我想做的是让这个链接在一个单独的页面中打开记录。我认为视图中的“动态”部分令人困惑,因为在window.open或target=“\u blank”中没有要添加的“列视图”。请问我该怎么办 XPage的相关部分仅包含以下内容: <xp:panel id="maincontentpanel">

我在stackoverflow中发现了一些类似的问题,但没有完全匹配的。我正在尝试修改一个
Xpages
项目,其中搜索结果显示在动态视图面板中。搜索结果的第一列是在同一页面中打开记录的链接。我想做的是让这个链接在一个单独的页面中打开记录。我认为视图中的
“动态”
部分令人困惑,因为在window.open或
target=“\u 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>
<tr>
    <td class="xspColumnViewStart">
        <a id="view:_id1:cc4cconeuilayout:OneUIMainAreaCallback:dynamicViewPanel1:0:_id6:_internalColumnLink"
           href="*routetoourrecord*";action=editDocument"
           class="xspLinkViewColumn">2014</a>
    </td>

在HTML中查看源代码时,可单击列显示以下内容:

<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>
<tr>
    <td class="xspColumnViewStart">
        <a id="view:_id1:cc4cconeuilayout:OneUIMainAreaCallback:dynamicViewPanel1:0:_id6:_internalColumnLink"
           href="*routetoourrecord*";action=editDocument"
           class="xspLinkViewColumn">2014</a>
    </td>

动态视图面板在所有属性中都有一个属性“target”,您可以在其中选择“\u blank”。这应该将属性
target=“\u blank”
添加到第一列中的链接。但不幸的是,这只适用于Notes客户端

所以,没有我们可以设置的属性。幸运的是,呈现的链接有自己的类“xspLinkViewColumn”(参见源HTML示例)。使用
dojo.query
我们可以获得这个类的所有元素,并在客户端添加target属性

只需将以下事件代码添加到XPage:



所有链接都将以这种方式获得属性
target=“\u blank”
,文档将在新的浏览器选项卡中打开。

只是为了让您知道,代码不能与引导主题一起使用

相反,你可以使用

dojo.query('[id$="_internalColumnLink"]').attr("target", "_blank"); 

原谅我,因为我对XPages还很陌生。您提到的“查看列链接”是动态视图面板的属性吗?如果是这样,我就看不见了!我更新了我的答案,希望能更好地理解。您只需将上面的代码添加到Xpage或自定义控件中,就可以了。再次感谢Knut。我将您提供的代码添加到XPage中,但它仍然无法在新的浏览器选项卡\窗口中打开记录。我尝试在dynamicviewpanel的XML标记中添加代码,然后执行构建和清理,但没有区别。然后将代码移到dynamicviewpanel之外的Xpage顶部附近,再次构建和清理,但仍然相同。然后我尝试删除代码,并在XPage的属性中,在“onClientLoad”事件中添加了以下内容:dojo.query(“.xspLinkViewColumn”).attr(“target”,“u blank”);但还是不起作用。我做错了什么?您最后两种包含代码的方法是正确的,应该可以工作。请测试添加此警报时代码是否执行:
警报(dojo.query(“.xspLinkViewColumn”).length)等待!!!它正在工作。我做了另一次清理,但这确保了它包括清理项目的磁盘广告部分(因此它与SVN一起工作),我还清除了浏览器缓存及其工作状态。非常感谢你,克努特。你帮了大忙