2010-08-21 46 views
2

我使用Zend框架與ZfDebug(http://code.google.com/p/zfdebug/) 和插件Base64編碼/解碼。 (http://plugins.jquery.com/project/base64ZFdebug Jquery干涉

的問題是,當我試圖讓:

$(document).ready(function(){ 

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

});

錯誤顯示出來:如果源加載ZfDebug $ .base64Encode不是一個函數

包括腳本

#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,有什麼建議嗎?

+2

可悲的是,這是一個錯誤ZFDebug,已多次報道,用不同的jQuery插件。 – takeshin 2010-08-22 08:18:15

回答

0

最新版本的ZFDebug(目前在主幹中)不依賴於jQuery,並且不會干擾任何javascript包含。

編輯:近日,ZFDebug已經轉移到github上更好的社會支持:http://github.com/jokkedk/zfdebug