我有一个文件SolarCalendar.htc,其内容如下:

<script language="javascript">
//My java Script Code
</script>

<public:property put=fnPutDay                  get=fnGetDay                name="day">
<public:property put=fnPutMonth                get=fnGetMonth              name="month">
<public:property put=fnPutYear                 get=fnGetYear               name="year">
<public:property put=fnPutMonthLength          get=fnGetMonthLength        name="monthLength">
<public:property put=fnPutDayLength            get=fnGetDayLength          name="dayLength">
<public:property put=fnPutFirstDay             get=fnGetFirstDay           name="firstDay">
<public:property put=fnPutGridCellEffect       get=fnGetGridCellEffect     name="gridCellEffect">
<public:property put=fnPutGridLinesColor       get=fnGetGridLinesColor     name="gridLinesColor">
<public:property put=fnPutShowDateSelectors    get=fnGetShowDateSelectors  name="showDateSelectors">
<public:property put=fnPutShowDays             get=fnGetShowDays           name="showDays">
<public:property put=fnPutShowTitle            get=fnGetShowTitle          name="showTitle">
<public:property put=fnPutShowVerticalGrid     get=fnGetShowVerticalGrid   name="showVerticalGrid">
<public:property put=fnPutShowHorizontalGrid   get=fnGetShowHorizontalGrid name="showHorizontalGrid">
<public:property put=fnPutValue                get=fnGetValue              name="value">
<public:property put=fnPutValueIsNull          get=fnGetValueIsNull        name="valueIsNull">
<public:property put=fnPutReadOnly             get=fnGetReadOnly           name="readOnly">
<public:property put=fnPutHoliday              get=fnGetHoliday            name="holiday">

<public:event id="onChange"         name="onchange">
<public:event id="onPropertyChange" name="onpropertychange">
<public:event id="onError"          name="onerror">


我有使用此“ SolarCalendar.htc”的SolarCalendar.htm文件,如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html XMLNS:IE>
    <head>
        <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
        <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
        <STYLE> IE\:Calendar
            {
                behavior: url(SolarCalendar.htc) ;
                -moz-binding: url(bindings.xml#SolarCalendar.htc);
                 width : 100%;
             }
        </STYLE>

    </head>
    <body onkeypress="Window_Keypress()" onload="Window_Onload()" onunload="Window_OnUnload()">
        <CENTER><IE:CALENDAR id="cal"></IE:CALENDAR></CENTER>
    </body>
</html>


但是它在FireFox中不起作用(它在IE上有效)。您知道这段代码有什么问题吗?我在项目中使用了bindings.xml,并且简单的示例也能很好地工作,但是上面的代码却没有。

最佳答案

Firefox可以选择您的自定义HTML元素吗?

<IE:CALENDAR>元素的选择器是否起作用?您可以尝试使用以下样式而不是-moz-binding规则,然后查看它们是否有效果:

IE\:Calendar {
    width: 100px;
    height: 100px;
    display: block;
    background-color: green;
}


如果不是,则选择器(IE\:Calendar)可能是问题所在。

您的文件名正确吗?

这是您的-moz-binding行:

-moz-binding: url(bindings.xml#SolarCalendar.htc);


如果我理解正确,那就说:


  找到文件“ bindings.xml”,然后在其中找到具有id属性的SolarCalendar.htc元素。


如果您的文件名为“ SolarCalendar.htc”,则Firefox将找不到它,因为它没有被称为“ bindings.xml”。

也许您可以从SolarCalendar.htc中取出XML内容,并将其保存在名为bindings.xml的文件中?然后从您的#SolarCalendar.htc规则中删除-moz-binding吗?

09-17 18:31