gpt4 book ai didi

css - 尽管有过滤器,但 Combres 没有修复相对 URL?

转载 作者:行者123 更新时间:2023-11-28 10:06:23 27 4
gpt4 key购买 nike

更新:这是我认为有问题的 CSS 示例:

.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; }

更新 - 创建了一个 workitem在 codeplex 上的 combres 问题跟踪器中。

更新:我查看了日志,发现发生了什么 -

2011-10-24 16:32:20,490 [15] WARN  Combres.Filters.FixUrlsInCssFilter - Cannot fix url url(images/ui-icons_454545_256x240.png)
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at System.String.Substring(Int32 startIndex, Int32 length)
at Combres.Filters.FixUrlsInCssFilter.FixUrl(Resource resource, Match match)

那么,我可以获取源代码并查看它还是需要将它放在 combres 问题跟踪器上?

我正在使用过滤器 -

 <filter type="Combres.Filters.FixUrlsInCssFilter, Combres" />

应该解决提到的相对 URL 问题 here .但是 url(css 背景图像)仍然使用错误的路径并执行类似

的操作

http://somedomain.com/combres.axd/pics/pic.png

而不是使用

http://somedomain.com/pics/pic.png

我还尝试使用 - 显式应用

<filter type="Combres.Filters.FixUrlsInCssFilter, Combres" acceptedResourceSets="myCss"  />

任何人都可以给我任何建议吗?我发现了一些东西 similar ,但它的解决方案对我不起作用。

更新:这是我的 combres.xml 以防万一 -

<?xml version="1.0" encoding="utf-8" ?>
<!--
This file contains basic settings needed for most web apps.
For full Combres settings (with explanation), refer to the sample definition file: combres_full_with_annotation.xml
Also, refer to Combres' documentation: http://combres.codeplex.com/documentation
-->
<combres xmlns='urn:combres'>
<filters>
<filter type="Combres.Filters.FixUrlsInCssFilter, Combres" acceptedResourceSets="LogCreateCss" />
<filter type="Combres.Filters.DotLessCssFilter, Combres" acceptedResourceSets="LogCreateCss" />
</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="msajax" type="Combres.Minifiers.MSAjaxJSMinifier, Combres" binderType="Combres.Binders.SimpleObjectBinder, Combres">
<param name="CollapseToLiteral" type="bool" value="true" />
<param name="EvalsAreSafe" type="bool" value="true" />
<param name="MacSafariQuirks" type="bool" value="true" />
<param name="CatchAsLocal" type="bool" value="true" />
<param name="LocalRenaming" type="string" value="CrunchAll" />
<param name="OutputMode" type="string" value="SingleLine" />
<param name="RemoveUnneededCode" type="bool" value="true" />
<param name="StripDebugStatements" type="bool" value="true" />
</minifier>
<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"
defaultJSMinifierRef="msajax"
defaultCssMinifierRef="yui">
<resourceSet name="siteCss" type="css" minifierRef="yui">
<resource path="\Content\StyleSheets\reset.css" />
<resource path="\Content\StyleSheets\960.css" />
<resource path="\Content\StyleSheets\Site960.css" />
<resource path="\Content\StyleSheets\Site.css" />
</resourceSet>
<resourceSet name="siteJs" type="js" minifierRef="msajax">
<resource path="\Scripts\jquery-1.5.1.min.js" />
<resource path="\Content\Scripts\blockUI.js" />
</resourceSet>
<resourceSet name="overviewCss" type="css" minifierRef="yui">
<resource path="\Content\Plugins\fancybox\css\jquery.fancybox-1.3.4.css" />
<resource path="\Content\StyleSheets\overview_kam.css" />
</resourceSet>
<resourceSet name="overviewJs" type="js" minifierRef="msajax">
<resource path="\Content\Plugins\fancybox\scripts\jquery.fancybox-1.3.4.pack.js" />
</resourceSet>
<resourceSet name="LogCreateCss" type="css" minifierRef="yui">
<resource path="\Content\Plugins\fancybox\css\jquery.fancybox-1.3.4.css" />
</resourceSet>
<resourceSet name="activityLogCloseCreateJs" type="js" minifierRef="msajax">
<resource path="\Content\Plugins\fancybox\scripts\jquery.fancybox-1.3.4.pack.js" />
<resource path="\Content\Plugins\fancybox\scripts\jquery.fancybox-1.3.4.js" />
</resourceSet>
<resourceSet name="LogCreateCss" type="css" minifierRef="yui">
<resource path="\Content\StyleSheets\Site.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.all.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery-ui.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.accordion.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.autocomplete.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.button.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.core.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.datepicker.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.dialog.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.menu.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.progressbar.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.resizable.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.selectable.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.slider.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.spinner.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.tabs.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.theme.css" />
<resource path="\Content\Plugins\jquerySpinner\themes\base\jquery.ui.tooltip.css" />
<resource path="\Content\Plugins\jquerySpinner\demos\demos.css" />
</resourceSet>
<resourceSet name="LogCreateJs" type="js" minifierRef="msajax" >
<resource path="\Content\Plugins\jquerySpinner\jquery-1.4.3.js" />
<resource path="\Content\Scripts\ActivityLog\Create.js" />
<resource path="\Content\Plugins\fancybox\scripts\jquery.fancybox-1.3.4.pack.js" />
<resource path="\Content\Plugins\jquerySpinner\external\jquery.mousewheel-3.0.4.js" />
<resource path="\Content\Plugins\jquerySpinner\external\glob.js" />
<resource path="\Content\Plugins\jquerySpinner\external\glob.de-DE.js" />
<resource path="\Content\Plugins\jquerySpinner\external\glob.ja-JP.js" />
<resource path="\Content\Plugins\jquerySpinner\ui\jquery.ui.core.js" />
<resource path="\Content\Plugins\jquerySpinner\ui\jquery.ui.widget.js" />
<resource path="\Content\Plugins\jquerySpinner\ui\jquery.ui.button.js" />
<resource path="\Content\Plugins\jquerySpinner\ui\jquery.ui.spinner.js" />

</resourceSet>
</resourceSets>
</combres>

最佳答案

我认为您的 CSS 的图像部分格式不正确;试试这个:

url('images/ui-bg_flat_75_ffffff_40x100.png') /*{bgImgUrlContent}*/

注意单引号的添加以及结束“)”和注释 block 之间的空格

根据经验,我可以推荐使用应用程序根相对语法来使事情更清晰,例如,我会改变你必须做的:

url('~/images/ui-bg_flat_75_ffffff_40x100.png') /*{bgImgUrlContent}*/

更新:

另一种选择是编写您自己的 ISingleContentFilter 实现,它更能容忍出现在您的 css 文件中的那种语法。你可以看看combres FixUrlsInCssFilter一个好的起点。

更新:

如果您已经创建了自己的过滤器的改进版本,只需将其编译为您的 Web 元素的一部分并在 combres.xml 中这样引用它:

<filters>
<filter type="YourProject.MyBetterFilter, YourProject" />
</filters>

没有必要完全重新编译(和维护)自定义版本的 Combres 以这种方式扩展它。

关于css - 尽管有过滤器,但 Combres 没有修复相对 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842060/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com