2017-03-17 23 views
1

私はTinyMCEを追加の機能でカスタマイズしようとしています。
メニューに貼り付けた2つの項目を追加して、HTMLを貼り付けてHTMLをコピーしたいと思います。TinyMCEクリップボードからソースコードをコピー&ペーストする

setup内部で私は2つのメニュー項目を追加している:行方不明

editor.addMenuItem('htmlPaste', { 
    text: 'Paste HTML', 
    icon: 'paste', 
    context: 'file', 
    onclick: function() { 
    tinymce.activeEditor.setContent('<span>some</span> html'); 
    editor.notificationManager.open({ 
     text: 'HTML pasted.', 
     type: 'info', 
     timeout: 2000, 
     closeButton: false 
    }); 
    } 
}); 
editor.addMenuItem('htmlCopy', { 
    text: 'Copy HTML', 
    icon: 'copy', 
    context: 'file', 
    onclick: function() { 
    editor.notificationManager.open({ 
     text: 'HTML copied.', 
     type: 'info', 
     timeout: 2000, 
     closeButton: false 
    }); 
    } 
}); 

パートは、クリップボードアクセスです。私はclipboard.jsを使用することを考えていましたが、TinyMCEにはこのビルドがありますが、HTMLソースではない通常のコンテンツをコピーして貼り付けることに気付きました。

TinyMCEのビルドイン機能を使用してクリップボードにアクセスできますか?だから私がPaste HTMLをクリックすると、TinyMCEは内容のソースコードを更新し、Copy HTMLをクリックすると、TinyMCEはソースコードをクリップボードにコピーします(クリップボードの内容を設定する前にタグを変更したい)。

TinyMCEは、ユーザーがクリップボードへのアクセスを無効にしたときにフォールバックをサポートするため、この機能を使用したいと考えています。ここで

がcodepenの私のプロトタイプです:http://codepen.io/anon/pen/EWbpyr

EDIT:GitHubのスルー探し 私はsetClipboardDataようないくつかの便利な機能を見つけましたが、それでも私は自分のコードから呼び出す方法がわかりません。

答えて

0

最新のブラウザでは、あなたが望むことはできないと思います。

あなたはTinyMCEの中であなたがほとんどのブラウザのためにこれを見切り取り/コピー/貼り付けボタンで構築を使用しようとすると:

「あなたのブラウザは、クリップボードへの直接アクセスをサポートしていません を使用してください。代わりにCtrl + X/C/Vキーボードショートカットを使用してください。

これは、特定のブラウザではJavaScript経由で直接行うことができないことの制限であると述べています。

好きなときにいつでも任意のJavaScriptがクリップボードにアクセスできるとしたらどうするでしょうか? 「悪い人」はルールでは動かないので、(ウェブページを読み込んだときに)クリップボードからすべてのものを取得してサーバに送信した場合、どうなるでしょうか?ブラウザーの製造元は、ユーザーがCRTL + CとCRTL + Vをタイプすることで、ブラウザにクリップボードへのアクセスを効果的に伝えていることにより、クリップボードへの直接アクセスが「悪い」ことに気付きました。

IE11では実際には従来のAPI経由でのアクセスが許可されていますが、現在のところEdgeはクリップボードAPIをサポートしていません(少なくともこれを書いている時点ではありません)。

+0

返信いただきありがとうございます。私はクリップボードのコンテンツを手に入れることができませんが、おそらくクリップボードのコンテンツを設定できるようになります。 'Tools-> Source code'を表示して、クリップボードにあるソースコードを貼り付けることができます。しかし、2番目の部分があります。ボタン、メニュー項目、またはキーボードショートカットを使用してHTMLコンテンツをコピーできるようにしたいと考えています。私は、ユーザーが 'Tools-> Source code'に行ってそこにコピーできると知っていますが、いくつかのタグを置き換えて、そのパネルを使用することはできません。私はちょうど最新のChromeをチェックインしています。あなたがペーストを書いたように動作しませんが、コピーオプションは動作します。 – Misiu

関連する問題