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=xxxTinyMCEをターゲットとするURLに追加するtiny_mce.jsと、要求するすべての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 に答える