【发布时间】:2011-01-21 16:09:00
【问题描述】:
对于任何了解使用 Combres 的专业知识的人,这是为您准备的:
我的 Combres.XML 如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<combres xmlns='urn:combres'>
<filters>
<filter type="Combres.Filters.FixUrlsInCssFilter, Combres" />
</filters >
<cssMinifiers>
<minifier name="yui" type="Combres.Minifiers.YuiCssMinifier, Combres">
<param name="CssCompressionType" type="string" value="StockYuiCompressor" />
<param name="ColumnWidth" type="int" value="-1" />
</minifier>
</cssMinifiers>
<jsMinifiers>
<minifier name="yui" type="Combres.Minifiers.YuiJSMinifier, Combres">
<param name="IsVerboseLogging" type="bool" value="false" />
<param name="IsObfuscateJavascript" type="bool" value="true" />
<param name="PreserveAllSemicolons" type="bool" value="false" />
<param name="DisableOptimizations" type="bool" value="true" />
<param name="LineBreakPosition" type="int" value="-1" />
</minifier>
</jsMinifiers>
<resourceSets url="~/combres.axd" defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="false"
defaultCssMinifierRef="off"
defaultJSMinifierRef="off">
<resourceSet name="siteCss" type="css" minifierRef="yui">
<resource path="~/css/jquery-ui-1.7.2.custom.css" />
<resource path="~/css/OMNIv2.css" />
<resource path="~/css/dataTable.css" />
</resourceSet>
<resourceSet name="siteJs" type="js" >
<resource path="~/js/jquery-1.4.2.min.js" minifierRef="off" />
<resource path="~/js/jquery.jstree.min.js" minifierRef="off" />
<resource path="~/js/jquery.dataTables.min.js" minifierRef="off" />
<resource path="~/js/jquery.cookie.min.js" minifierRef="off" />
<resource path="~/js/jquery-ui-1.7.2.custom.min.js" minifierRef="off" />
<resource path="~/js/jquery.collapsible-v.2.1.3.js" minifierRef="yui" />
<resource path="~/js/jquery.fileupload.js" minifierRef="yui" />
<resource path="~/js/original/OMNIv2.js" minifierRef="yui" />
</resourceSet>
</resourceSets>
</combres>
将 defaultDebugEnabled 设置为 false,即模块现在将开始运行...内联 Javascript 并且我的一个 ClientRegisterScriptBlocks 炸毁说“$ 未定义”。显然,jQuery 没有被加载或以某种方式被破坏。如果我真的在 defaultDebugEnabled 设置为 true 的情况下运行它,那么组合的 JS 运行良好并且所有引用都有效。有什么想法为什么会发生这种情况?日志没有显示任何异常。
输出:
//These are from the master page
<link rel="stylesheet" type="text/css" href="/combres.axd/siteCss/1/"/>
<script type="text/javascript" src="/combres.axd/siteJs/a/"></script>
// This is in my Default.aspx
<script type="text/javascript" >
function pageLoad() {
var $NavSlider = $("#NavSlider"); // THIS DOESN'T WORK, $ is undefined
}
</script>
【问题讨论】:
-
你的输出 html 是什么样的?
-
浏览器查看的 /combres.axd/siteJs/a/ 的内容是什么?
-
不确定我知道如何抓住它...有什么建议吗?
-
直接在您的网络浏览器中导航到它。
-
是的,那没有用,但我确实通过 JSLint 运行了我的一个 JS 脚本,纠正了它,现在我只是得到 jQuery 没有定义。错误来自 jQuery UI 文件,在 jQuery.cookie 调用上,它位于要组合的脚本列表中。
标签: javascript asp.net jquery combres