本文介绍了ZFdebug Jquery干扰的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I use Zend Framework with ZfDebug (http://code.google.com/p/zfdebug/)and a plugin Base64 Encode/Decode. (http://plugins.jquery.com/project/base64)

问题是当我尝试制作时:

the problem is when i try to make:

$(document).ready(function(){

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

});

显示错误: $.base64Encode不是函数

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

If in source is loaded the ZfDebug include scripts

  #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,有什么建议吗?

in my head element of html they are interferencing each other. (Jquery loads twice)
If I set my application from development to production the ZfDebug generated script includes will not show up, and my jquery callings are working fine.
But I have to be able in development mode to be able to use Jquery, any suggestions?

推荐答案

最新版本的ZFDebug(当前在主干中)不依赖jQuery,并且不会干扰任何javascript包含.

The latest version of ZFDebug (currently in trunk) does not depend on jQuery and will not interfere with any javascript includes.

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

Recently, ZFDebug has moved to github for better community support: http://github.com/jokkedk/zfdebug

这篇关于ZFdebug Jquery干扰的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 02:29