我的myFolder/myDB.nsf
包含WebContent/mySite/index.html
,一个没有任何XPage代码的html文件。数据库配置为仅在有效Notes登录后显示Web内容。
现在我想在Notes客户端中嵌入这个index.html,使我们的用户无需登录即可查看。
我将如何实现这一目标?
我想通过XPages/index.xsp
来做这件事,xsp包含以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<iframe src="mySite/index.html" style="width:100%;height:100%"></iframe>
</xp:view>
在网络浏览器中打开http://myserver/myFolder/myDB.nsf/index.xsp
时效果很好。
在Notes客户端中打开它时,会抛出错误404.
使用时
<iframe src="http://myServer/myFolder/myDB.nsf/mySite/index.html" style="width:100%;height:100%"></iframe>
没有抛出任何错误,但我仍然必须登录,即使我已经通过身份验证注释。
此外,在打开http:///myFolder/myDB.nsf/index.xsp时,我必须登录两次。
答案 0 :(得分:1)
在Notes客户端中,如果直接引用XPiNC URL,则需要在前面添加xsp /。
所以在你的情况下,URL将是
Whatever.nsf / XSP / index.html中
您需要以编程方式将Notes客户端检测为您的用户代理,并相应地添加xsp。
答案 1 :(得分:1)
简答:不要。
答案很长:XPiNC的行为与常规浏览器不同,IFrame是其中一个领域。您可以将标准HTML页面的正文内容复制到XPage中,它只会显示。对于CSS / JS,你将它们放入资源中。这样它就能正常显示。
对于base path - 您需要将其添加到标题中。在被视为资源的XPage中,您可以这样做:
<xp:this.resources>
<xp:headTag tagName="base">
<xp:this.attributes>
<xp:parameter name="href" value="/xx" />
<xp:parameter name="target" value="_top" />
</xp:this.attributes>
</xp:headTag>
</xp:this.resources>