我使用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("»");
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("»");
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("«");
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,任何建议吗?
答案 0 :(得分:0)
最新版本的ZFDebug(目前在主干中)不依赖于jQuery,也不会干扰任何javascript包含。
编辑:最近,ZFDebug已转移到github以获得更好的社区支持:http://github.com/jokkedk/zfdebug