顧客のワードプレス サイトを更新しています。プラグインが多すぎてサイトが非常に遅いため、サーバー側のキャッシュを有効にする必要がありました。これについて私にできることは何もなく、プラグインを無効にすることもできません。
プラグインの 1 つは、ユーザーがファイルをダウンロードするために電子メールを入力する必要があります。プラグインが有効な電子メールを検出すると、セッション変数を設定します。その後、ページがリロードされます。そのセッション変数が設定されている場合、サイトには、電子メール フォームの入力フィールドとボタンではなく、ダウンロード ボタンが表示されます。
サーバー側のキャッシュが有効になっているため、この機能は失われます。したがって、私がやりたいことは、代わりに Cookie を設定し、その Cookie クライアント側をチェックして、div の内容を交換することです ( id="download" )。私はJavascriptをあまり使用していないため、これを機能させるのに苦労しています。
PHPで次のようにCookieを設定しました。
setcookie( 'show_download', 1 );
div (動的に生成) の新しいコンテンツを次のように設定しました。
setcookie( 'new_content', '<div class="btn-ss-downloads"><a target="_blank" href="/wp-content/plugins/ss-downloads/services/getfile.php?file=4v-zR6fc6f/9vaROBr/dTJd/Tg/D 0-dT.vBx">Download Series 20 Datasheet</a></div>' );
別の投稿から取得した Javascript で Cookie を読み取る関数があります。
<script type="text/javascript">
function readCookie(name) {
var ca = document.cookie.split(';');
var nameEQ = name + "=";
for(var i=0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return "";
}
</script>
正しいと思われる機能は、 を呼び出すことreadCookie( 'show_download' );
です。値が 1 の場合、のコンテンツをCookie<div id="download"></div>
に保存されているコンテンツと交換します。new_content
ここで提示した部分を考慮して、Javascript でこれを機能させるにはどうすればよいですか? ここで機能する場合は、Wordpress ヘッダーに JavaScript 関数を追加したいだけです。ページがレンダリング/ロードされた後、この関数を実行できたようです。ブラウザやjavascriptの操作順序がよくわかりません。助けてください。