2

所以我在我的应用程序中使用 tinyMce,但我收到一个 JavaScript 错误,我似乎无法弄清楚如何调试。错误是“TypeError:P 未定义” - 我可以从 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 回答