根据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>
标记,以便停止处理。
答案 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不再处理它。