XPages headTag“书签”图标 - 由于代理路由,文件不存在

Posted

技术标签:

【中文标题】XPages headTag“书签”图标 - 由于代理路由,文件不存在【英文标题】:XPages headTag 'bookmark' icon - File does not exist because of proxy routing 【发布时间】:2013-04-17 17:48:49 【问题描述】:

我的 XPage headTag 代码在防火墙内正常工作。因为用户将通过代理访问此数据库,所以代理导致我的图标/书签图标出现问题。此错误出现在日志中:

文件不存在:C:/www/docs/ttt/apple-touch-icon-precomposed.png 其中“ttt”会将您定向到下面的 Domino 服务器“路径”。

我们的 Domino 服务器上的路径是:/sss/database.nsf/apple-touch-icon-precomposed.png

png 文件在我的图像资源中。我认为使用带有 href 参数和 png 文件名的 headTag 可以解决问题,特别是因为图像在数据库中。我需要对上面的路径进行硬编码吗?或者我如何动态编码?还是有完全不同的方法?谢谢!肯德拉

html 中我可能会这样做:

<link rel="apple-touch-icon" href="touch-icon-iphone.png" />
<link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone-retina.png" />
<link rel="apple-touch-icon" sizes="144x144" href="touch-icon-ipad-retina.png" />

在 XPages 资源的 headTag 中,我正在这样做:

<xp:headTag tagName="link" loaded="true" rendered="true">
            <xp:this.attributes>
            <xp:parameter name="rel" value="apple-touch-icon"
                    loaded="true">
                </xp:parameter>
            <xp:parameter name="href" value="AppIcon.png"></xp:parameter>
            </xp:this.attributes>
        </xp:headTag>
        <xp:headTag tagName="link" rendered="true" loaded="true">
            <xp:this.attributes>
                <xp:parameter name="rel" value="apple-touch-icon"></xp:parameter>
                <xp:parameter value="72x72" name="sizes"></xp:parameter>
                <xp:parameter name="href"
                    value="touch-icon-ipad.png">
                </xp:parameter>
            </xp:this.attributes>
        </xp:headTag>
        <xp:headTag tagName="link" rendered="true" loaded="true">
            <xp:this.attributes>
            <xp:parameter name="rel" value="apple-touch-icon"></xp:parameter>
            <xp:parameter value="57x57" name="sizes"></xp:parameter>
            <xp:parameter name="href" value="apple-touch-icon-precomposed.png"></xp:parameter>
            </xp:this.attributes>
        </xp:headTag>
        <xp:headTag tagName="link" rendered="true" loaded="true">
            <xp:this.attributes>
            <xp:parameter name="rel" value="apple-touch-icon"></xp:parameter>
            <xp:parameter value="114x114" name="sizes"></xp:parameter>
            <xp:parameter name="href" value="touch-icon-iphone-retina.png">
            </xp:parameter>
            </xp:this.attributes>
        </xp:headTag>
        <xp:headTag tagName="link" rendered="true" loaded="true">
            <xp:this.attributes>
            <xp:parameter name="rel" value="apple-touch-icon"></xp:parameter>
            <xp:parameter value="144x144" name="sizes"></xp:parameter>
            <xp:parameter name="href" value="touch-icon-ipad-retina.png">
            </xp:parameter>
            </xp:this.attributes>
        </xp:headTag>

【问题讨论】:

【参考方案1】:

来自您的代理的消息“文件不存在”表明此请求实际上是重定向的。成功的代理重定向永远不会导致向用户泄露代理 www 目录路径。错误显示完整路径的事实表明您的重定向失败。是时候重新访问您的代理设置了。在 Notes 方面无事可做。

【讨论】:

该路径是服务器日志中的错误,不会显示给用户。我不得不去日志找出为什么我的图像不会显示并找到它。用户只是将应用程序/网页的屏幕截图视为书签,而不是预期的 png 图像。 这仍然是一个重定向问题,因为您的代理在其自己的数据路径中查找该文件 但是,如果是重定向问题,为什么数据库中的其他所有内容以及图像资源中的页面图标(请参见下面的片段)都可以正常工作?唯一“损坏”的部分是这些用于书签/网络剪辑的 png 图像。 ibm.com/xsp/core" xmlns:xc="ibm.com/xsp/custom" xmlns:xe="ibm.com/xsp/coreex" pageIcon="/AppIcon.png" pageTitle="Orders"> 将您的重定向规则添加到问题中,您可以查看一下。然后检查 src 属性指向的 HTML 源代码以及您的重定向规则是否匹配。如果这是 Domino 设置,我会感到非常惊讶。 在 HTML 源代码中,如果您单击/悬停在图像的链接上,它会在 Domino 服务器上找到并正确重定向,但它不会显示在 iPhone 或 iPad 上。我将与 IBM 一起打开 PMR 以查看这是否是预期行为。现在我们将 png 图像放在代理上,以便让这个应用程序推出。

以上是关于XPages headTag“书签”图标 - 由于代理路由,文件不存在的主要内容,如果未能解决你的问题,请参考以下文章

Xpages djCurrencyTextBox with fractional=false

将带有指定标志图标的网站书签添加到手机主屏幕

让iOS的Safari书签能够显示真正的网站图标

如何使 UISearchBar 的书签图标可访问?

移动书签触摸图标

设置iPhone书签图标