我目前正在使用WordPress开发一个网站,Headway, Modernizr 和W3总缓存。我遇到的问题是W3TC正在缓存body标记,这意味着Modernizr不会根据用户浏览器进行更新。
这个问题的一个例子是,modernizr添加了“firefox”主体类,如果将其缓存在chrome中,那么我们就有了相同的“firefox”主体类,这使得任何特定于浏览器的css都不准确。
我试过使用<!-- mfunc -->any PHP code<!-- /mfunc -->
我从this answer
代码如下所示
<!-- mfunc -->
headway_page_top();
<!-- /mfunc -->
我已经尝试在headway\\u page\\u top()函数中使用相同的mfunc包装器,以便它直接围绕body标记,但没有成功。我收到的错误来自W3TC,它说“无法执行代码”,然后打印出mfunc包装的所有标记(在调试模式下)。禁用调试模式时也会发生这种情况。
此调用发生在wp content/themes/headway-2012/header中。我已经将该路径添加到W3TC页面缓存设置中的“缓存异常列表”中,但没有任何效果。
对于如何让页面缓存与modernizr并行运行而不出现此问题,有人有什么建议吗?
EDIT: 这个问题根本与现代化无关,我早就料到了这一点。Headway正在自行添加body类,而不是使用Modernizer。问题是使用W3TC及其片段,以便body类保持动态。我根本没有设法让片段缓存工作,也没有找到太多关于它的文档。
片段缓存是可行的解决方案吗?我似乎没有可能的解决办法了。