SharePoint MOSS - 在 HTTPS 页面上提供 HTTP 内容而没有混合内容警告?

SharePoint MOSS - 在 HTTPS 页面上提供 HTTP 内容而没有混合内容警告?

我们的 ”类似门户“SharePoint 网站使用 HTTPS/SSL 提供服务。因此,用户访问 **https://**web.company.com 并查看内容和不同的 Web 部件。到目前为止,没有问题。

现在的愿望是添加新的 Web 部件,无论是哪个框架HTTP内容(例如 Weather Bug)或HTTP RSS 源

出现的问题是,这样做会导致浏览器中出现“混合内容”警告。

有没有人成功实现过这种或类似的方案?我们考虑过但未成功的方案有:

  • 使用 Apache 反向代理服务器

  • 镜像外部网站

  • 自定义 Web 部件

答案1

我也建议不要更改区域设置。我通过对 SharePoint RSS Web 部件的 XSL 进行小幅调整解决了此问题:

停止 SharePoint 的 RSS Web 部件中的混合内容警告

<xsl:template name="GetSafeHtml">
    <xsl:param name="Html"/>
    <xsl:choose>
        <xsl:when test="$rss_IsDesignMode = 'True'">
            <xsl:call-template name="strip-tags">
                <xsl:with-param name="text" select="$Html"/>
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:call-template name="strip-tags">
                <xsl:with-param name="text" select="rssaggwrt:MakeSafe($Html)"/>
            </xsl:call-template>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

<xsl:template name="strip-tags">
    <xsl:param name="text"/>
    <xsl:choose>
        <xsl:when test="contains($text, '&lt;')">
            <xsl:value-of select="substring-before($text, '&lt;')"/>
            <xsl:call-template name="strip-tags">
                <xsl:with-param name="text" select="substring-after($text, '&gt;')"/>
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$text"/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

基本上,您粘贴一个稍微修改过的、调用 strip-tags 模板的版本到 GetSafeHtml 模板上。

祝你好运!

答案2

如果您使用 IE,您只需在您的区域的安全设置中启用“显示混合内容”(而不是提示)。

替代文本

有时最好在更换整个发动机之前检查汽车是否没油了;)

相关内容