3

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

谢谢你。

4

2 回答 2

4

您可以使用查询字符串参数“缓存破坏”技术。

如果您附加?v=xxx到指向目标的 URL tiny_mce.js,TinyMCE 会将相同的查询字符串值附加到它请求的所有 URL。:)

例如

/scripts/tiny_mce/tiny_mce.js?cachebuster=123

或(如果使用 jQuery)

$('#elementId').tinymce({"script_url":"/scripts/tiny_mce/tiny_mce.js?cachebuster=123", ...);

然后,只要对 TinyMCE 调用的任何文件进行修改,您只需修改查询字符串缓存破坏器值。

于 2013-03-21T21:18:27.530 回答
2

您可以在包含脚本的头部尝试此操作,这会强制 tinyMCE 在没有缓存的情况下重新加载...它对我有用。

<head>
<script type="text/javascript" src="../../../tiny/tinymce/js/tinymce/tinymce.min.js?<?php        echo(rand(1,10));?>"></script>
</head>
于 2013-05-17T16:04:50.133 回答