【发布时间】:2017-01-24 11:06:31
【问题描述】:
当单击视图面板中的链接时,有什么方法可以在新的浏览器选项卡中打开文档?
【问题讨论】:
标签: xpages
当单击视图面板中的链接时,有什么方法可以在新的浏览器选项卡中打开文档?
【问题讨论】:
标签: xpages
你有两个选择。一种是蒂姆解释的方式。另外,您可以将视图列值计算为链接。在那里您可以使用 _new 或 _blank 属性。
简单地说,视图列可以作为 HTML 给出。在那里你可以计算带有 html href 标签的页面。
【讨论】:
“target”是视图面板组件的属性之一。如果您指定“_blank”(如 Ferry 建议的那样)作为该属性的值,它应该将其应用于每一行的链接。但请记住,您最终将受制于最终用户的浏览器设置。一个用户可能会得到一个新标签,另一个用户可能会得到一个全新的窗口,而另一个用户可能什么也得不到,因为该链接被视为弹出窗口并被阻止。
【讨论】:
这只是一个浏览器设置。您只需将 target="_blank" 放入链接中即可。
【讨论】:
在尝试了这个之后,出于多种原因,我决定不使用它,但想发布下面的过程来实现它。
在视图列显示选项卡上选择计算值并输入如下公式:
var _row:NotesXspViewEntry = viewEntry;
var _unid = _row.getUniversalID();
return "<a href='0/" + _unid + "?OpenDocument' TARGET='_new'>" + _row.getColumnValue("RequestNum") + "</a>"
在显示选项卡上选择 HTML。
【讨论】:
只是添加另一个选项。 如果将列显示设置为“隐藏”,则可以在列中放置标准链接控件。例如。如果所需的列链接文本是“名字”列,它会打开一个新选项卡到页面“Person.xsp”
<xp:viewColumn columnName="firstName" id="vcFirstNameCol" displayAs="hidden">
<xp:viewColumnHeader value="First Name" id="vchFirstName"></xp:viewColumnHeader>
<xp:link escape="true" text="#{javascript: rowData.getColumnValue('firstName');}" id="link1" value="Person.xsp"
target="_blank">
<xp:this.parameters>
<xp:parameter name="documentId" value="#{javascript:rowData.getUniversalID();}"></xp:parameter>
<xp:parameter name="action" value="openDocument"></xp:parameter>
</xp:this.parameters>
</xp:link>
</xp:viewColumn>
【讨论】: