阅读此主题后:How to force browser to reload cached CSS/JS files?
我想知道 Symfony 中是否有任何内置函数或简单方法可以在发现 javascript/css 文件已被修改时通过向链接附加随机查询字符串或时间戳来自动强制重新加载。 (通常,人们使用use_javascript
函数来生成<script>
标签)
最佳答案
没有内置机制,但一点创意意味着您可以在代码中的任何地方执行此操作,从 view.yml 到 layout.php 再到每个单独的操作。
view.yml 方法很简单:
apps/frontend/config/view.yml:
stylesheets: [main?v=<?php echo time() ?>, reset?v=<?php echo time() ?>, layout?v=<?php echo time() ?>]
虽然我认为这有点过于活跃,而且我倾向于使用 SVN 修订版或整个元素版本号:
stylesheets: [main?v=<?php echo sfConfig('app_project_version') ?>, reset?v=<?php echo sfConfig('app_project_version') ?>, layout?v=<?php echo sfConfig('app_project_version') ?>]
app_project_version
在 apps/frontend/config/app.yml 中设置。 layout.php 和 actionSuccess.php 的方法从这里应该很简单:
<?php use_stylesheet('blah?v='.sfConfig::get('app_project_version')); ?>
关于php - 如何在 Symfony 中强制重新加载 javascript/css?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334931/