【问题标题】:iFrame in XPage, load WebContentXPage 中的 iFrame,加载 WebContent
【发布时间】:2014-05-09 22:50:49
【问题描述】:

我的myFolder/myDB.nsf 包含WebContent/mySite/index.html,这是一个没有任何 XPage 代码的 html 文件。数据库配置为仅在有效的 Notes 登录后才显示 Web 内容。

现在我想将这个 index.html 嵌入到 Notes 客户端中,这样我们的用户就不必登录就可以看到它。

我将如何实现这一目标?

我想通过 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>

这在 Web 浏览器中打开 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>

没有抛出错误,但我仍然需要登录,即使我已经通过 notes 身份验证。

另外,当我打开 http:///myFolder/myDB.nsf/index.xsp 时,我必须登录两次。

【问题讨论】:

    标签: iframe xpages


    【解决方案1】:

    在notes客户端中,如果直接引用XPiNC URL,需要在前面加上xsp/。

    所以在你的情况下,网址是

    Whatever.nsf/xsp/index.html

    您需要以编程方式将笔记客户端检测为您的用户代理并相应地添加 xsp。

    【讨论】:

      【解决方案2】:

      简短回答:不要。

      长答案:XPiNC 的行为与常规浏览器有些不同,而 IFrame 就是其中之一。您可以将标准 HTML 页面的正文内容复制到 XPage 中,它只会显示。对于 CSS/JS,您将它们放入资源中。这样就可以正常显示了。

      对于base path - 您需要将其添加到标题中。在被视为资源的 XPages 中,您可以这样做:

         <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>
      

      【讨论】:

      • 那么请提供有关如何向 XPage 添加基本路径的建议。
      • 简而言之:不要。使用相对路径
      • HTML 文件位于子目录中,是一个 Web 应用程序的入口点,有大约 300 个相对路径(JS、CSS、图像、WebServices),其中大部分甚至是所用框架的一部分, 并且隐藏在缩小的 Framework JS 文件中。如果我将 HTML 文件的内容复制到 xsp 中,我必须设置基本路径以指向原始 HTML 文件所在的目录。
      • XPiNC 不是标准的网络服务器。当你撬开它你会看到,他们做了一些事情来建立一个会话(和用户身份),这些事情对于静态资源是不可用的。上面更新了答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多