7

私はしばらくの間、これに対する解決策を探していましたが、見つけた唯一の修正は、テキストがエディター自体に表示される方法にのみ影響し、生成されたテキストが他の場所に送信/保存されたときにどのように見えるかには影響しません。私はCSSの修正などについて話しています。

私は CKEditor を使用して、Web アプリケーションを介して電子メールを作成および送信しています。css の修正により、エディター自体に表示されるフォントが変更されますが、受信した電子メールは TNR または電子メール クライアントから継承されたもので表示されます。もちろん、各段落のプラグインからフォントとサイズを変更しない限り.

プラグイン内からフォントとサイズを設定するたびに気付いたことから、CKEditor は、新しく変更されたスタイル (たとえば<span style="font: Arial"><span style="font-size: 12"></span></span>) を使用してスパン (実際には 2 つ、1 つはフォント、もう 1 つはサイズ) を作成します。目的のフォントとサイズのスタイリングを使用して、結果全体をスパンまたは div でラップすることもできますが、それはユーザーのテンプレートとスタイルに干渉する可能性があります。

プラグイン自体から (電子メールの受信者に表示されるように) デフォルトのテキスト スタイルを設定する方法はありますか、それともハックする必要がありますか。

4

3 に答える 3

11

これは、ck エディターに強制的にデフォルトのフォントを作成させる唯一の方法です。IE では、フォントが選択されていない場合でも、入力されたテキストが (デフォルトの) フォント スパンで折り返されるため、書式設定されたテキストが出力されます。変更をユニバーサルにしたい場合は、config.js に以下を追加します。それ以外の場合は、1 つのインスタンスだけに追加することも可能です。私はそれを試していませんが。

config.font_defaultLabel = 'Arial';

これにより、ドロップダウンのデフォルトが「Arial」になります。これでさえ、私が望むようには機能しませんが。まず、ドロップダウンをデフォルトにするには、エディターをアクティブにする必要があります (ロードするだけではありません)。手動選択とは異なり、値はドロップダウン ボックスで強調表示されません。表示するだけです。

次に、これをデフォルトの構成オプションの下に追加します。

CKEDITOR.on( 'instanceReady', function( ev ) {
     ev.editor.setData('<span style="font-family:Arial, Verdana, sans-serif;">&shy;</span>');
});

これにより、テキスト領域に必要なスパンが事前に入力されます。ただし、この「ハック」を機能させるには、span タグにいくつかの文字を含める必要があります。そのため、実際には必要のない出力に行き詰まるでしょう.Web上のどこかで見つけた元のバージョンは次のとおりです。

&shy;

これは比較的無害に思えます。

私は探して、より良い方法を探しました (誰かがそれを知っていれば幸いです)。ほとんどの人は単に、出力をキャプチャして再フォーマットすると言います。それは本当に私にとって選択肢ではありませんでした。カスタム プラグインを使用してこれを実現することもできます。それも私にとっては本当に実行可能ではありませんでした。

これが誰かが少なくとも時間を節約するのに役立つことを願っています.

PS オリジナルは CK エディターのサポート ボードから来ました。ここにリンクがあります:フォーラム

于 2012-12-06T15:59:09.783 に答える
1

エディター外でテキストのスタイルを変更したい場合は、スタイルを変更する必要があります...エディター外:)。私の知る限り、電子メールのスタイルシートは使用できないため、残っているのはdivインライン スタイルでラッピングすることです。

CKEditor で同じ結果を得るには、ラッパーと同じスタイルを編集して設定する必要がありcontents.cssます。bodydiv

次のステップは、マークアップに基づいているため、ツールバーからフォーマット コンボを削除することです。各スタイルに適用されるインライン スタイル、タグ、および属性を定義できるため、メールの場合はスタイル コンボを使用することをお勧めします。確認してくださいstyles.js

于 2012-10-30T22:19:14.860 に答える
1

これを config.js ファイルに追加します

 CKEDITOR.config.font_defaultLabel = 'Arial';
 CKEDITOR.config.fontSize_defaultLabel = '20'; 

次に、CKEditor がトリガーされたときに変更されます。

于 2017-02-08T11:59:32.170 に答える