1
私はテキストエリア(codemirror)でカスタム確認ダイアログを使用しています。コードミラーが実際のtextarea要素を隠すので、firefoxは隠されたtextareaフィールドからデータを取得できません。確認ボックスの定義は、以下のようになります:codemirror textareaフィールドのdocument.execCommand( 'copy')がfirefoxで機能しません
var confirmationDialog = MD.ui.dialogs.confirm({
title: title,
text: '',
type: 'dataUri',
dataUri: formUrl,
position: 'center',
buttonForward: {
text: 'Copy',
action: function() {
DataGridExportDialog.CopyToClipboard("#rawXmlImpExp");
}
},
buttonCancel: {
text: 'Cancel',
action: function() {
confirmationDialog.close();
confirmationDialog.destroy();
}
}
});
私は「コピー」をクリックの上にテキストエリア内のテキストをにコピーする必要がありますように、機能をクリップボードにコピーして確認ボタンの機能を更新した要件によると、クリップボード。以下はcopyToClipboard()です。
DataGridExportDialog.CopyToClipboard = function(containerId) {
/*var textareaData = $('#rawXmlImpExp').val();
var range = document.createRange();
range.selectNodeContents(textareaData);
window.getSelection().addRange(range);*/
var copyTextarea = document.querySelector(containerId);
copyTextarea.select();
try {
var successful = document.execCommand('copy');
raiseMessage('Configuration XML copied to clip board.')
} catch (err) {
raiseWarning('Unable to copy. Please do so manually.');
}}
この実装はクロームで問題なく動作しますが、Firefoxでは失敗します。私のコードがFirefox上で失敗するすべてのアイデア。
あなたは[この](https://stackoverflow.com/questions/30078763/how-can-i-copy-text-in-one-click-in-mozilla-firefox)を試したことがありますか? –
@RoryMcCrossan:私はその質問を完了しましたが、確認ボタンにeventListenerを追加できませんでした。それについてのアイデアがあれば教えてください。 – santoshM
ブラウザの互換性を確認するfirefox 41以上で 'copy/cut'をサポートしています – zabusa