我有一个使用tinymce编辑器的页面,编辑器将在需要时检索模板,虽然模板可以更改,即图像可以修改,现在问题是每当我更改模板的图像时“这是从一个不同的页面完成的“,当我打开相同的模板时,它没有反映在tinymce编辑器上,我尝试了这种清除缓存的方法:
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
也
clearstatcache();
和
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
但无济于事,我猜这个问题存在于tinymce编辑器中。无论如何,我有没有解决这个问题?
谢谢。
答案 0 :(得分:3)
您可以使用查询字符串参数'cache busting'技术。
如果您将?v=xxx
附加到定位tiny_mce.js
的网址,则TinyMCE会将相同的查询字符串值附加到其请求的所有网址。 :)
e.g。
/scripts/tiny_mce/tiny_mce.js?cachebuster=123
或(如果使用jQuery)
$('#elementId').tinymce({"script_url":"/scripts/tiny_mce/tiny_mce.js?cachebuster=123", ...);
每当您对TinyMCE正在调用的任何文件进行修改时,您只需要修改查询字符串缓存buster值。
答案 1 :(得分:1)
你可以在包含脚本的头部试试这个,这会强制tinyMCE在没有缓存的情况下重新加载......它适用于我。
<head>
<script type="text/javascript" src="../../../tiny/tinymce/js/tinymce/tinymce.min.js?<?php echo(rand(1,10));?>"></script>
</head>