2

そのため、アプリでtinyMceを使用していますが、JavaScriptエラーが発生し、デバッグ方法がわからないようです。エラーは「TypeError:P is undefined」です-FireBugからそれを見ることができますが、より多くの/より良い情報を取得する方法がわかりませんか?

「すべてのエラーを解除」をオンにしてみましたが、最小化されたJSファイルが表示され、そこに「P」という名前の変数も表示されないため、間違ったツリーを吠えていると思います。[保存]をクリックする場合を除いて、すべてが正常に機能します。

肩をすくめる私は今立ち往生しています。これが私の完全なコードです。あなたは私がそれであるかもしれないと思ってすべてのプラグインを削除しようとしたが、サイコロがないのを見ることができます。

明らかに、私が解決する必要のある問題は、なぜそれが起こっているのかということです-より良い解決策は、実際にそれを引き起こしているものを理解する方法であり、このようなことが再び起こったときに私はそれを自分で理解することができます。

ありがとう-以下の完全なコードを参照してください。

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <script type="text/javascript">
        $(document).ready(function() {

            $('textarea.tinymce').tinymce({
                script_url: '/Scripts/TinyMCE/tiny_mce.js',
                theme: "advanced",
                plugins: "save",
                theme_advanced_buttons1: "save",
//                plugins: "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
//                theme_advanced_buttons1: "save,cut,copy,paste,pastetext,pasteword,|,search,replace,|,bold,italic,underline,strikethrough,|,print,|,iespell",
                theme_advanced_toolbar_location: "top",
                theme_advanced_toolbar_align: "left",
                theme_advanced_statusbar_location: "bottom",
                save_enablewhendirty: true,
                encoding: "xml",
                theme_advanced_resizing: true,
                mode: "textareas",
                save_onsavecallback: "ajaxSave",
                setup: function(ed) {
                    ed.onSaveContent.add(function(i, o) {
                        o.content = o.content.replace( /&#39/g , "&apos");
                    });
                }
            });

            function ajaxSave() {
                alert("ajaxSave called.");
            }

        });

    </script>
    <% Html.BeginForm("Index", "DisabilityReport", FormMethod.Post); %>  
    <%= Html.AntiForgeryToken() %>
    <%= Html.ModelData() %>
    <textarea name="documentContent" class="tinymce" cols="90" rows="60"></textarea>
    <% Html.EndForm();%>
</asp:Content>
4

2 に答える 2

3

Firebugについてはよくわかりませんが、Chromeで作業している場合、Chrome開発ツールは圧縮されたJSを拡張できるため、これらのエラーを簡単に追跡できます。下の角かっこボタンを参照してください。

ここに画像の説明を入力してください

于 2012-09-05T19:55:25.243 に答える
0

Firefoxには、JS Deminifierと呼ばれる小さなプラグインがあり、コードをその場でデミニファイできます。唯一の欠点は、プロセスでバグが発生することがあることです。

あなたが探しているもののアイデアを得るのはいいことですが、それを完全に信頼しないでください。

于 2012-09-05T19:55:40.483 に答える