-1

先日、投稿を保存してプレビューを表示する簡単な WordPress プラグインを作成しました。これがジャバスクリプトです。

jQuery(document).ready(function($){

if (document.cookie.indexOf("previewCookie") >= 0){  
    //expires added for IE
    document.cookie="previewCookie=true; max-age=0;expires=0;path=/wp-admin/";          

    //quickPreviewOption is set in quick-preview.php  
    var previewURL = document.getElementById('post-preview');
    if(quickPreviewOption === 'current'){                                           
        window.location = previewURL;
    }
    if(quickPreviewOption === 'new'){
        window.open(previewURL,"wp_PostPreview","","true");
    }
}

$(document).keydown(function(e){
    if((e.ctrlKey || e.metaKey) && e.which == 83){

        //Find #save post if it's a draft. If post is published, #save-post doesn't exist.
        if($('#save-post').length){
            $('#save-post').click();    
        }
        else if($('#publish').length){
            $('#publish').click();
        }

        //Sets a cookie to open the preview on page refresh. Saving a post auotmatically refreshes the page.
        document.cookie = "previewCookie = true;max-age = 60;path=/wp-admin/";      
        return false;           
    }

}); 
});

これは、ワードプレスで「html」エディターを使用する場合に機能します。ただし、WordPress で「ビジュアル」エディターを使用すると、キーダウン機能を起動できません。ctrl-s、ctrl-qなどではありません。何がブロックしているのかわかりません。ソースで見つけることができません。すべてのキーダウンイベントのバインドを解除してから、私のものだけを再バインドしようとしましたが、WordPress のキーダウンイベントのバインドは解除されませんでした。誰にもアイデアはありますか?

役立つ場合に備えて、クイックプレビュープラグインへのリンクを次に示します。http://wordpress.org/extend/plugins/quick-preview/

4

1 に答える 1

0

誰もこれに答えていないので、私のために働いた答えへのリンクを投稿しています。Tiny MCE には独自の keydown 関数があり、WordPress が tinyMCE を初期化するときにフックする必要があります。ここでの答えは私にとってはうまくいきました。https://wordpress.stackexchange.com/questions/24113/hook-the-keydown-event-in-the-tinymce-post-editor

于 2012-10-26T22:11:37.960 に答える