ANYDAYコンポーネントはday,htcで定義されています。このコンポーネントはカレンダーユニットのパッケージです。コンポーネントの名前は、最初の行で定義された XML 名前空間によって決まります。
canlenar.htc と同様に、名前空間の定義は 1 つだけです。その理由は、このページで他の HTC を呼び出す必要がないためです。つまり、ここで定義するカスタム ラベルは次のとおりです。 DAY の動作も定義します。実際、HTML コンポーネントの定義は、属性とイベントを含むカスタム タグの動作の定義です。
<PUBLIC:COMPONENT tagName="DAY"> <PROPERTY NAME="value"></PROPERTY> <ATTACH EVENT="oncontentready" ONEVENT="fnInit()"<>/ATTACH> </PUBLIC:COMPONENT>
イベント oncontentready に注目してください。 、その呼び出し元のcalendar.htcがday.htcのインポートを要求し、完全にインポートされると、このイベントのハンドラーはfnInit()です。見てみましょう:
function fnInit() { document.body.innerHTML = element.value; document.body.className = "clsDay"; defaults.viewLink = document; element.appointments = ""; element.date = element.value; }
fnInit()は多くの重要なことを示しています。 HTCの章。最初の行は、呼び出し元ページの innerHTML に element.value を割り当てます。
属性。 HTML コンポーネントは常に要素オブジェクトにカプセル化されます。 value 属性は通常、PROPERTY タグで定義されます。注意してください。実際の値は呼び出しページ canlendar.htc から渡されます。
テキスト += '
<STYLE> .clsDay { width:50; height:50; background-color:lightyellow; align:center; text-align:right; } </STYLE>
カレンダー内の日付が明るい黄色で色付けされていることに注目してください。これは、HTC の形式固有のモードが呼び出し元、つまり、calendar.htc によって支配されていることを示しています。
fninit() の 3 行目は、デフォルト オブジェクトの viewlink 属性を設定します。viewLink 属性は、HTC ドキュメント (day.htc) を別の HTML コンポーネント (calendar.htc) から見えるようにすることができます。これが viewLink 設定です:
defaults.viewLink = document;
接続する必要があるのはドキュメントオブジェクト全体であることに注意してください。 fnInit() の最後の 2 行は、後で説明する 2 つの内部プロパティを初期化します。
element.appointments = "";
element.value;
は独自の表示に使用され、DAY HTML コンポーネントはマウスのクリックに関連します:
function fnShowAppts() { newAppointments = prompt("Add your appointment:", element.appointments); if (newAppointments != null) element.appointments = newAppointments; document.body.innerHTML = '<FONT COLOR="red">' + element.date + '</FONT>' + "<BR>" + '<FONT SIZE="1">' + element.appointments + '</FONT>'; }
今日
HTML コンポーネント (today.htc) は、ANYDAY コンポーネント (day.htc) に非常に似ています。唯一の違いは、スタイル シートの背景色が薄黄色ではなくピンクであり、フォントの色が赤ではなく青であることです。
カレンダーの現在の日付が青色の背景にピンク色で表示されていることに注目してください。