在tinymce编辑器中清除缓存

时间:2012-11-10 20:39:51

标签: php caching http-headers tinymce

我有一个使用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编辑器中。无论如何,我有没有解决这个问题?

谢谢。

2 个答案:

答案 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>