Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

MySQL5.6→5.7でカスタムJa...
 
共有:
通知
すべてクリア

[解決済] MySQL5.6→5.7でカスタムJavaScriptの反映に不具合?

5 投稿
3 ユーザー
3 Reactions
566 表示
 J.K
(@j-k)
Eminent Member Registered
結合: 6年前
投稿: 17
トピックスターター  

いつもお世話になっております。

MySQLを5.6から5.7にバージョンアップしたところ、カスタムJavaScriptに記述したコードが動かなくなり、ソース表示でもおかしいので投稿させていただきました。

行った作業は新たにMySQL5.7のデータベースを作成し、5.6データベースからエクスポートしたSQLをインポートし、wp-config.phpの変更を行いました。通常の記事は正常に表示されております。

カスタムJavaScriptに記述したのはHTMLエンティティの下記コードです。

$(function(){
  $('#changeButton').on('click', function(){
    if($('#changeButton').hasClass('change')){
      $('.decode-area').after($('.encode-area'));
      $('#changeButton').removeClass('change');
    } else {
      $('.encode-area').after($('.decode-area'));
      $('#changeButton').addClass('change');
    }
  });
  $('.decode-copy-button').on('click',function(){
    $('.decode-area textarea').select();
    document.execCommand('copy');
    $('.decode-area textarea').blur();
    $(this).addClass('add');
    setTimeout(function() {
      $('.flex-item .copy-button').removeClass('add');
    }, 1500);
    return false;
  });
  $('.encode-copy-button').on('click',function(){
    $('.encode-area textarea').select();
    document.execCommand('copy');
    $('.encode-area textarea').blur();
    $(this).addClass('add');
    setTimeout(function() {
      $('.flex-item .copy-button').removeClass('add');
    }, 1500);
    return false;
  });
});

MySQL5.6の場合はコメント<!-- cocoon Custom JS -->の後にそのまま表記されておりました。

ところが、MySQL5.7ではコメントもなくなり、false の部分が文字化けのようになっています(添付画像)。

ちなみにデータベースのpostmetaではカスタムJavaScriptに記述した通りに記述されていおりました。

何か原因が分かるようでしたら、ご教示いただけると助かります。よろしくお願いいたします。

このトピックは2年前からJ.Kに変更されました

   
 J.K
(@j-k)
Eminent Member Registered
結合: 6年前
投稿: 17
トピックスターター  

書き忘れておりましたが、サーバーはロリポップです。


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

@j-k さん

5 年以上 jQuery を書いていないので忘れましたが、お書きになった jQuery は WordPress で動くでしょうか?WordPressでjQueryを利用する際の書き方と注意点 を見る限り、その書き方ではエラーが出ると思います。

また、「false の部分が文字化けのようになっています」とは !1 のことでしょうか?このことであれば正常です。Cocoon 設定 > 高速化などで JavaScript を縮小されてはいないでしょうか?コメントがないのも縮小されているためのように思えます。

尚、execCommand() は非推奨となりました。クリップボード API の Clipboard.writeText() をお使いになるのがいいように思えます。

この投稿は2年前ずつAkiraに変更されました

   
わいひら reacted
大門未知子
(@chu-ya)
Illustrious Member Registered
結合: 3年前
投稿: 3131
 

●ご参考
jQueryライブラリですが、WordPress同梱のライブラリに違いがあり。

https://wp-cocoon.com/community/postid/67402/


   
わいひら reacted
 J.K
(@j-k)
Eminent Member Registered
結合: 6年前
投稿: 17
トピックスターター  

Akiraさま、chu-yaさま、ありがとうございます。
たくさんご教示いただき、大変勉強になりました。

私の大きな勘違いがあり、動作していないのはカスタムJavaScriptの記述ではなく、footer-insert.php で読み込んだ以下のJSファイルでした。
https://github.com/mathiasbynens/he/blob/master/he.js

仰るように、JavaScript縮小化が原因だったようで、MySQLをバージョンアップしたタイミングでJavaScript縮小化もしたのを忘れておりました。テーマのあるディレクトリを除外することで解決いたしました。

また、カスタムJavaScriptの記述はそのままで動作していましたが、ご教示通り、jQuery(function($) といった書き方に変更し、execCommand() も Clipboard.writeText() を使うように変更しました。

私の勘違いからですが、たくさん勉強になり、感謝いたします。


   
わいひら reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました