Wml-timer

提供:Dev Guides
移動先:案内検索

WML-タイマー

前の章では、ユーザーがイベントをトリガーする方法と、イベントハンドラーを使用してイベントを処理する方法について説明しました。

場合によっては、ユーザーが明示的にコントロールをアクティブにしなくても、何かを実行したいことがあります。 はい、WMLはこれを処理する ontimer イベントを提供します。

ontimerイベントは、カードのタイマーが1から0にカウントダウンしたときにトリガーされます。つまり、タイマーが0のタイムアウトに初期化された場合は発生しません。

<onevent>要素を使用して、このイベントにタスクをバインドできます。 構文は次のとおりです。

<onevent type="ontimer">
   A task to be performed.
</onevent>

ここで、タスクは<go>、<prev>、または<refresh>です。

WML <timer>要素:

タイマーは、<timer>要素を使用してWMLカード内で宣言されます。 <onevent>要素が存在する場合は、それに続く必要があります。 (<onevent>要素がない場合、<timer>は<card>内の最初の要素でなければなりません。)カードには複数の<timer>を含めることはできません。

<timer>要素は、次の属性をサポートしています。

Attribute Value Description
name text Sets a name for the element.
value number Specifies the timer after which timer will be expired. Timeouts are specified in units of a tenth of a second.
class class_data Sets a class name for the element.
id element ID A unique ID for the element.

以下は、<timer>要素の使用法を示す例です。

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card id="splash" title="splash">
  <onevent type="ontimer">
    <go href="#welcome"/>
  </onevent>
  <timer value="50"/>
<p>
  <a href="#welcome">Enter</a>
</p>
</card>

<card id="welcome" title="Welcome">
<p>
Welcome to the main screen.
</p>
</card>
</wml>

このプログラムをロードすると、次の画面が表示されます。

WAP Exampple19

特定の Enter オプションを選択しない場合、5秒後に Welcome ページに移動し、次の画面が自動的に表示されます。

WAP Exampple20