使用Slimmage和Orchard输出缓存时不显示图像

时间:2016-02-03 21:35:13

标签: orchardcms imageresizer

根据this article的说明,我们正在使用带有Image Resizer和Slimmage的Orchard。

在我们打开输出缓存模块之前,一切都很顺利,当我们打开它时,根本没有渲染任何图像。当我在浏览器中检查容器div时,容器是空的。硬刷新将呈现图像,但在此之后,常规页面加载/重新加载将不会呈现任何图像。

当我查看源代码时,在容器div中,代码如下所示:

<noscript data-slimmage="true" data-img-src="/Media/Default/images/photo.jpg?slimmage=true&width=375&quality=60" data-img-alt="">
    <noscript data-slimmage="true" data-img-src="/Media/Default/images/photo.jpg?slimmage=true&width=375&quality=60" data-img-alt="">
        <img src="/Media/Default/images/photo.jpg?slimmage=true&width=375&quality=60" alt="">
    </noscript>
</noscript>

在我看来,该页面的缓存版本已经在所有启用了slimmage的img标记周围都有<noscript>标记,并且第二次处理它。然后,slimmage正在页面中搜索<noscript>标记,找到它,并查看另一个<noscript>而不是<img>标记,以便停止处理。

1 个答案:

答案 0 :(得分:0)

我有一个解决方案,但它更多的是解决方案而不是解决方案。

我的代码中的任何地方都是这样的:

<img src="/Media/Default/images/photo.jpg?slimmage=true&width=375&quality=60" alt="">

我用它替换了它:

<noscript data-slimmage="true" data-img-src="/Media/Default/images/photo.jpg?width=375&quality=60" data-img-alt="">
    <img src="/Media/Default/images/photo.jpg?width=375&quality=60" alt="">
</noscript>

通过删除查询字符串中的slimmage=true,SlimResponse不再处理它。