当您处理打开链接时,首先,您可以做的事情是有限的。实际上,用户可以配置浏览器(IE、Chrome 等)以在新选项卡、窗口等中打开链接……而您作为表单开发人员无法更改这一点。
我制作了一个 jsfiddle 来重现您的情况并提出您可以测试的解决方案。我不保证它会在我使用 Mac 时工作,但我也在下面描述了一个更好的解决方案。
你可以在这里找到它:
https ://jsfiddle.net/chevdor/45k40npv/
我想第一个例子(#1)是你现在发生的事情。使用“目标”属性,我尝试实施一个可能适合您的解决方案。单击#2 和#3 并检查这是否有效。我无法测试,因为我使用的是 Mac。
您可以在此处阅读有关目标属性的更多信息:
http://www.w3schools.com/tags/att_a_target.asp
另一个可以让您获得更多控制权的解决方案是使用 iFrame 控件。我认为它现在是 SmartForms 的标准配置。如果没有,您肯定可以从社区站点获取它。我建议您使用此 iFrame 创建一个新视图并定义一个名为“url”的参数(字符串)。
让我们用 K2 规则语言说话 :) “当参数更改时”、“并且参数已定义”,如果您将 URL 传递给 iFrame 控件的“传输数据”,它将显示您的文档。如果用户单击另一个文档,它将更新 SAME iFrame。使用此解决方案,将不会涉及任何选项卡。
请注意,它适用于您的浏览器支持的任何文档。某些类型可能需要插件。其他文件(即 zip 等)不会出现,而是会被下载。
我希望这有帮助。最好的问候,-chevdor