ACT HTMLエディターのデフォルト設定を変更するにはどうすればよいですか?たとえば、Selected Bold Buttonを使用して、またはデフォルトでltrの代わりにrtl方向を使用して、エディターをロードしたいと思います。
どうすればそれを実行できますか?カスタムボタンを追加する方法をオーバーライドFillTopToolbar()
しましたが、デフォルト設定を変更する方法がわかりません。
デフォルトのltrが選択されているので、rtlに変更します。
2 に答える
私はいくつかのことを修正するために私の答えを編集しました
HTMLEditorは、サーバーサイドコードを使用してこれらのボタンの状態を設定する方法を提供していません。ただし、クライアントでは、Sys.Application.loadイベントを使用して初期化します。初期化子の後で、ユーザーがUIを操作する前にコードを実行した場合は、そのイベントハンドラーで設定するプロパティを設定できます。
太字のボタンとrtlボタンの状態を設定するために必要なコードは次のとおりです。他のボタンの状態を変更したい場合は、ここから取得できます。
// Attach a handler to the load event.
Sys.Application.add_load(myOnLoadLoader);
function myOnLoadLoader() {
//This will run JUST after ALL code that was set to run during the load event has run
window.setTimeout(myOnLoad, 0);
}
function myOnLoad() {
var editor = $find('<% =editor.ClientID %>');
var toolbar = editor.get_changingToolbar();
var toolbarButtons = toolbar.get_buttons();
for (var i = 0; i < toolbarButtons.length; i++) {
var toolbarButton = toolbarButtons[i];
if (toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl ||
toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold) {
toolbarButton.set_activeEditPanel(editor.get_editPanel());
toolbarButton.callMethod();
}
}
}
Sys(したがってSys.Application)は、ASP.Net AJAX javascript(ページに追加したScriptManagerのおかげで追加されたファイル)に由来する名前空間です。これを使用する場合はSys.Application.add_load(myOnLoad);
、ASP.NetAJAXファイルの読み込み後にこの行が実行されることを確認する必要があります。これはいくつかの方法で実行できます。
- このスクリプトをscriptManagerよりもページの下部に追加します。
- スクリプトを別のJSファイルに移動し、ScriptManagerを使用してスクリプトをロードします(推奨)。
スクリプトを別のファイルに移動すると、var editor = $find('<% =youreditor.ClientID %>');
機能しなくなったことに気付くでしょう。これは、javascriptファイルがサーバータグを解析してサーバー側の値に置き換えないためです(aspxページのように)。したがって、ここで問題となるのはです<% =youreditor.ClientID %>
。
これを修正するには、次のようにします。
これをaspxマークアップ(ヘッドセクション)に追加します。
<script language="javascript">
var myEditorId = '<%= youreditor.ClientID %>';
</script>
したがって、次のようになります。
<head runat="server">
<script language="javascript">
var myEditorId = '<%= youreditor.ClientID %>';
</script>
<title></title>
</head>
(マスターページを使用している場合は、ページのScriptManagerの下にスクリプトタグを追加するだけです)
そして、JSファイルでこれを置き換えます
var editor = $find('<% =youreditor.ClientID %>');
これとともに
var editor = $find(myEditorId);
エディターコントロールはrtlをネイティブにサポートしていないため、CSSを使用してこれを行う必要があります。次のCSSは方向をrtlに設定します-
div
{
direction:rtl;
}
HTMLエディターのデフォルトのスタイルは、Editor.cssファイルにあります。