1

約 2 時間カスタム ボタンを追加しようとしてきましたが、機能しません。私はjavascriptについてあまり知りません。それが理由かもしれません。ボタンを表示してポップアップを開くことはできましたが、それは私が得た限りです。

ボタンで以下を tinymce の HTML セクションに挿入します。

'

ここに私のdialog.jsファイルがあります:

tinyMCEPopup.requireLangPack();

var InsertQuoteDialog = {
    init: function () {
        var s = tinyMCEPopup.editor.selection.getContent({ format: 'text' });
        if (s.trim().length > 0) {
            document.forms[0].blizzQuote.value = s.trim();
        }
    },

    insert: function () {
        var s1 = '<p class="blizzardQuote" ';
        s1 += Encoder.htmlEncode(document.forms[0].blizzQuote.value.trim()) + '</p>';

        tinyMCEPopup.editor.execCommand('mceInsertContent', false, s1);
        tinyMCEPopup.close();
    }
};

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

tinyMCEPopup.onInit.add(InsertQuoteDialog.init, InsertQuoteDialog);

そして私のDialog.htmファイル:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>{#example_dlg.title}</title>
    <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
    <script type="text/javascript" src="js/dialog.js"></script>
</head>
<body>

<form onsubmit="InsertQuoteDialog.insert();return false;" action="#">
    <p>Blizzard Quote</p>
    <p>Blizzard Quote: <input id="blizzQuote" name="blizzQuote" type="text" class="text" /></p>

    <div class="mceActionPanel">
    <div style="float: left">
        <input type="button" id="insert" name="insert" value="{#insert}" onclick="InsertQuoteDialog.insert();" />
    </div>
    <div style="float: right">
        <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
    </div>
    </div>
</form>

</body>
</html>

基本的に、挿入をクリックしても何も起こりません。

ありがとう。

4

1 に答える 1

1

JavaScript コンソールをざっと見てみると、ダイアログで JavaScript エラーが表示され、Encoderオブジェクトが認識されていないことがわかります。

Encoderを定義する JS ファイルをダイアログに含めるだけで問題ありません。

于 2012-05-29T03:40:22.637 に答える