ZFdebug Jquery干扰

时间:2010-08-21 20:27:41

标签: jquery zend-framework

我使用Zend Framework和ZfDebug(http://code.google.com/p/zfdebug/) 和一个插件Base64编码/解码。 (http://plugins.jquery.com/project/base64

问题是当我尝试制作时:

$(document).ready(function(){

$('#submit').click(function(e){
    e.preventDefault();
    data = $.base64Encode("something");
alert(data);
});

});

出现错误: $。base64Encode不是函数

如果在源中加载了ZfDebug包含脚本

  #ZFDebug_debug { font: 11px/1.4em Lucida Grande, Lucida Sans Unicode, sans-serif; position:fixed; bottom:5px; left:5px; color:#000; z-index: 255;}
            #ZFDebug_debug ol {margin:10px 0px; padding:0 25px}
            #ZFDebug_debug li {margin:0 0 10px 0;}
            #ZFDebug_debug .clickable {cursor:pointer}
            #ZFDebug_toggler { font-weight:bold; background:#BFBFBF; }
            .ZFDebug_span { border: 1px solid #999; border-right:0px; background:#DFDFDF; padding: 5px 5px; }
            .ZFDebug_last { border: 1px solid #999; }
            .ZFDebug_panel { text-align:left; position:absolute;bottom:21px;width:600px; max-height:400px; overflow:auto; display:none; background:#E8E8E8; padding:5px; border: 1px solid #999; }
            .ZFDebug_panel .pre {font: 11px/1.4em Monaco, Lucida Console, monospace; margin:0 0 0 22px}
            #ZFDebug_exception { border:1px solid #CD0A0A;display: block; }
        </style> 
        <script type="text/javascript" charset="utf-8"> 
            if (typeof jQuery == "undefined") {
                var scriptObj = document.createElement("script");
                scriptObj.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js";
                scriptObj.type = "text/javascript";
                var head=document.getElementsByTagName("head")[0];
                head.insertBefore(scriptObj,head.firstChild);
            }

            var ZFDebugLoad = window.onload;
            window.onload = function(){
                if (ZFDebugLoad) {
                    //ZFDebugLoad();
                }
                jQuery.noConflict();
                ZFDebugCollapsed();
            };

            function ZFDebugCollapsed() {
                if (0 == 1) {
                    ZFDebugPanel();
                    jQuery("#ZFDebug_toggler").html("&#187;");
                    return jQuery("#ZFDebug_debug").css("left", "-"+parseInt(jQuery("#ZFDebug_debug").outerWidth()-jQuery("#ZFDebug_toggler").outerWidth()+1)+"px");
                }
            }

            function ZFDebugPanel(name) {
                jQuery(".ZFDebug_panel").each(function(i){
                    if(jQuery(this).css("display") == "block") {
                        jQuery(this).slideUp();
                    } else {
                        if (jQuery(this).attr("id") == name)
                            jQuery(this).slideDown();
                        else
                            jQuery(this).slideUp();
                    }
                });
            }

            function ZFDebugSlideBar() {
                if (jQuery("#ZFDebug_debug").position().left > 0) {
                    document.cookie = "ZFDebugCollapsed=1;expires=;path=/";
                    ZFDebugPanel();
                    jQuery("#ZFDebug_toggler").html("&#187;");
                    return jQuery("#ZFDebug_debug").animate({left:"-"+parseInt(jQuery("#ZFDebug_debug").outerWidth()-jQuery("#ZFDebug_toggler").outerWidth()+1)+"px"}, "normal", "swing");
                } else {
                    document.cookie = "ZFDebugCollapsed=0;expires=;path=/";
                    jQuery("#ZFDebug_toggler").html("&#171;");
                    return jQuery("#ZFDebug_debug").animate({left:"5px"}, "normal", "swing");
                }
            }

            function ZFDebugToggleElement(name, whenHidden, whenVisible){
                if(jQuery(name).css("display")=="none"){
                    jQuery(whenVisible).show();
                    jQuery(whenHidden).hide();
                } else {
                    jQuery(whenVisible).hide();
                    jQuery(whenHidden).show();
                }
                jQuery(name).slideToggle();
            }
        </script> 

并且还有一个 <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>

在html的头部元素中,它们相互干扰。 (Jquery加载两次)
如果我将我的应用程序从开发设置为生产,ZfDebug生成的脚本包括不会显示,并且我的jquery调用工作正常。
但我必须能够在开发模式下能够使用Jquery,任何建议吗?

1 个答案:

答案 0 :(得分:0)

最新版本的ZFDebug(目前在主干中)不依赖于jQuery,也不会干扰任何javascript包含。

编辑:最近,ZFDebug已转移到github以获得更好的社区支持:http://github.com/jokkedk/zfdebug