设置 PIE.htc 的文件位置

Posted

技术标签:

【中文标题】设置 PIE.htc 的文件位置【英文标题】:Setting file location of PIE.htc 【发布时间】:2012-09-28 07:24:57 【问题描述】:

我为我的 pie.htc 创建了另一个文件夹..但是当我在 IE8 中加载我的 html 文件时它不起作用..我已经尝试为其行为设置不同的位置但它仍然不起作用..

这是我的代码..

behavior: url(/pie/PIE.htc);

【问题讨论】:

【参考方案1】:

正如其他人在其他地方指出的那样,以及此处http://css3pie.com/documentation/known-issues/ 中的记录,PIE.htc 文件的位置必须相对于使用它的页面,而不是相对于 css 文件。如果您需要在多个不同页面中使用 PIE,请考虑动态添加对它的引用。

以下是我们在带有母版页的 C# .Net 应用程序中处理它的方式:

在 head 标记之间的母版页标记中,放置以下行:

<style id="InlinePageStyles" runat="server" type="text/css"></style>

在母版页代码后面的Page_Load方法中,放置以下行:

//get path to PIE.htc and add it to the page as a style (creates a class called Pie)
InlinePageStyles.InnerHtml += string.Format(".Pie  behavior: url(0PIE.htc); ", ConvertRelativeUrlToAbsoluteUrl(this.Request, ResolveUrl("~/")));

同样在后面的代码中,添加这个方法:

private string ConvertRelativeUrlToAbsoluteUrl(HttpRequest request, string relativeUrl)

    return string.Format("http2://01", request.Url.Host, System.Web.VirtualPathUtility.ToAbsolute(relativeUrl), request.IsSecureConnection ? "s" : string.Empty);

接下来,从您的 CSS 中删除该行为。

最后,将“Pie”类添加到任何需要它的页面元素中。

希望这会有所帮助。

【讨论】:

【参考方案2】:

行为:url(../pie/PIE.htc);

".." 用于选择文件夹,饼图是文件夹

【讨论】:

【参考方案3】:

..................

你好现在把你的pie.htc放在根目录

像这样写入css

behavior: url(PIE.htc);

more info

【讨论】:

我已经这样做了,但它仍然无法正常工作..我也尝试像这样的行为放置完整的位置: url(//localhost/ptt/ptt.html/PIE.htc);但什么也没发生..=( 我尝试将 PIE.htc 文件与我的 html 文件放在同一个根文件夹中,但它可以正常工作。当我将 .htc 文件放到它自己的文件夹中时,问题就开始了,就像我所做的那样我的 css 和 javascript 文件。

以上是关于设置 PIE.htc 的文件位置的主要内容,如果未能解决你的问题,请参考以下文章

是否会为其他浏览器加载 CSS3PIE .htc 文件,即使他们不需要?

当我使用 cakephp 时,我在哪里放置 PIE.htc 文件(用于使 IE 与 CSS3 一起工作)

PIE.htc 和 jQuery 动画冲突?

单击链接 href 后,pie.htc 样式的 Div 未正确重绘

在 IE8 中使用 CSS3Pie htc 作为边框半径

CSS3 Pie 根本不工作,尝试了一切